Rust Part6

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/07/28(土) 03:04:38.63ID:kAX50nYD
Mozilla発のRust言語のスレ

公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

前スレ
Rust Part5
http://mevius.5ch.net/test/read.cgi/tech/1518347244/
2018/08/23(木) 23:27:32.87ID:EN+b8ws+
交換を一回しかしない配列の回転の応用だからJon BentleyのProgramming Pearlsだな。
2018/08/24(金) 00:58:26.59ID:OIfpv6Qg
>>168
へー、ピアソンから出てた『珠玉のプログラミング』か
読んでみたい
170デフォルトの名無しさん
垢版 |
2018/08/24(金) 12:20:35.42ID:ZVlysGry
>>169
つまらんよ
2018/08/25(土) 11:49:09.72ID:UzOZyqtt
古典ですな。
今読んでもそんな悪くない本だと思う。
2018/08/26(日) 17:59:52.65ID:BVSpPirf
rustfmt-nightlyがビルドできないお(´・ω・`)
2018/08/26(日) 23:46:50.01ID:8nEJLfEg
古めのnightlyじゃないと無理
2018/08/27(月) 17:35:35.62ID:ddJdp269
PR出ててもうマージされてた(`・ω・´)
175デフォルトの名無しさん
垢版 |
2018/09/01(土) 01:39:37.63ID:qa+GqmPA
VSCodeでRust Tool Missingと出てたからクリックしたらエラーたくさん出た。
ググったらNightlyのコンパイラじゃないとRacer(レイサーってのがRust Toolのこと?)は入れられないと
あったから。とりあえずRust Nightlyを入れた。
その後、また同じように入れようとしてみる。
cargo install racer && cargo install rustfmt && cargo install rustsym Updating registry `https://github.com/rust-lang/crates.io-index`

ダメだった!エラーが5個くらい出る。
どうすれば良いの?
2018/09/01(土) 11:07:28.41ID:ZPWIV19B
>>175
IntelliJを入れる
2018/09/01(土) 22:51:12.01ID:6Yw3sf7c
>>175
rust関係ないからcodeスレへ。アドオン何使ってるかもちゃんと書けよ。
2018/09/02(日) 05:13:21.00ID:wH0i7ysW
VSCodeって言っちゃったのがまずかった
VSCodeのターミナル(WSLのzsh)で出たエラーだから、MacでもLinuxでも、このエラー起こると思う!
最近Rustインストールした人で、同じエラー出ている人いないかな?
GithubのRacerに書かれてある方法で試してみる・・
179デフォルトの名無しさん
垢版 |
2018/09/02(日) 08:10:44.09ID:KdakvMsf
エラーを書かずに同じエラーとわ
180デフォルトの名無しさん
垢版 |
2018/09/03(月) 05:33:11.38ID:17orVuxK
これはすごい

https://github.com/EbTech/rust-algorithms
2018/09/03(月) 23:57:51.98ID:HH7kYsUG
Rustで使いやすいGUIツールキットってどんなのがあるんだろうな
マルチプラットフォームかつネイティブでそこそこのパフォーマンスを得られるのが良い
wxWidgetsは有名だけどwxRustは3年放置されている。使えるのかな
182デフォルトの名無しさん
垢版 |
2018/09/04(火) 00:37:25.68ID:JHljRMUU
良い塩梅に発酵したときが食べ頃
2018/09/04(火) 02:01:24.43ID:ph6Gu5BU
>>181
gtk-rsは?
前にちょっと触ってみただけだから実用レベルかは知らんが
今でも積極的にコミットされてるから期待はできそう

純Rust製ならPistonが作ってるconrodかな?winitとgliumをベースにしてるっぽい?
こっちは使ったことすら無いんで全く分からん
純Rust製に惹かれたが、なかなか時間が作れなくて放置中…
因みにwinitはイベント管理用でgliumはOpenGLのクレートね
2018/09/04(火) 06:57:27.16ID:9XviyzUs
>>183
ggr-ksに見えた
2018/09/04(火) 09:10:47.26ID:hvcJ5TzR
>>178
GithubのRacerに書いてあるとおりにやったらいけた
Rust Nightlyを入れただけではダメで
rustup toolchain add nightly
cargo +nightly install racer
でいけた。Multirustという機能があるからNightlyを使いたければ毎回指定するということを初めて知った
186デフォルトの名無しさん
垢版 |
2018/09/04(火) 10:31:00.23ID:gEGTZvcA
>>184
+1
187デフォルトの名無しさん
垢版 |
2018/09/04(火) 21:01:57.03ID:T2pQ9bem
>>184
ワロタ
2018/09/05(水) 00:23:07.06ID:OjlFeqT/
rlsじゃなくてracer使うのか
2018/09/05(水) 03:15:12.05ID:Ozj2BDZl
RLSだけでいいの?それならRLSでいきたい
でもNightlyをデフォルトに設定したらRLSがスタートできなかった
2018/09/05(水) 03:15:35.14ID:Ozj2BDZl
Rusty Codeっていうのにした
191181
垢版 |
2018/09/05(水) 07:39:35.54ID:6RBOwdE6
>>183
ありがとう。GTK+が無難ですかね。gtk-rsを試してみます

純Rustは確かに惹かれますがこれってネイティブなのだろうか・・・
2018/09/05(水) 07:46:50.58ID:dKL5q8IE
Intellij Rustの作者が作ってるlibsyntax2がLSPを提供するようになってる
https://github.com/matklad/libsyntax2/tree/master/crates/server

racerの代わりになる日が来るだろうか?
IDE機能の提供はコンパイラでやるのが一番いいんだろうけど
2018/09/05(水) 07:48:44.63ID:dKL5q8IE
>>183
>>191
gtkってマルチプラットフォームと言えるの?
Linuxでしかまともに動かないイメージ
まあWindowsでは最低限は動くのかもしれんけどmacOSではダメダメでしょう
194181
垢版 |
2018/09/05(水) 08:06:31.33ID:6RBOwdE6
>>193
そうなの?
まぁ今回の用途はWindowsとLinux/*BSDで動けばよし
たしかGIMPはGTKだったはず
195デフォルトの名無しさん
垢版 |
2018/09/05(水) 08:14:42.53ID:bMCIX8s0
え、エレクトロン
2018/09/05(水) 09:01:55.04ID:H9u1sp8h
そもそもgimpを作るためにgtk作ったわけで…
197デフォルトの名無しさん
垢版 |
2018/09/05(水) 11:38:43.13ID:/V9AsOwQ
GTKは糞
2018/09/05(水) 16:19:07.91ID:dKL5q8IE
マイナー言語のGUIにはGtkバインディングぐらいしかないのが現実
199181
垢版 |
2018/09/05(水) 18:50:23.45ID:6RBOwdE6
GTKのバインディングがあるならTkのバインディングも・・・と思ったら見あたらない?
Tkも一応ネイティブだったはず。機能面はぱっとしないが今回の用途には足りるかも

>>195
その手のWeb技術ベースのってアプリケーション側からウィジェットを更新する術に乏しい
印象があるけどそうでもないのかな
200デフォルトの名無しさん
垢版 |
2018/09/05(水) 20:07:45.33ID:L3ODpJW1
ウィジェットってこの文脈だとどいう意味?
2018/09/05(水) 21:04:58.50ID:NRWr9JTz
OS(フレームワーク)ネイティブのGUIコンポーネントって意味だと思う。
というか、こっちの意味での利用のほうがコンピュータ的には一般的だったかと。
2018/09/05(水) 22:08:13.79ID:s4eOolF2
Windows向けRustのリンカがlldになるのはいつかな
2018/09/06(木) 00:48:46.68ID:az09claK
GIMPはMotif・・・。うん。わかってるよ。

>>191
msvcツールチェーンでビルド面倒くさいから頑張れ。
2018/09/08(土) 20:22:07.67ID:2/RJPWQT
何かやるのに言語からつくっちゃえって、どうなんだろ。
2018/09/08(土) 21:39:35.66ID:r9+/L/Cg
なにかやるわけでもないのに言語だけ作るほうが珍しい気もするぞ。
で、どの言語のこと言ってるの?
2018/09/08(土) 21:50:01.66ID:obhERXW7
>>205
Rust
2018/09/08(土) 22:35:38.88ID:6Sgjlvo2
Cの事じゃないのか。
2018/09/09(日) 17:19:35.86ID:J1tV93ug
GUIといえばlibuiはどうだろう?

というかRustでGUIって面倒くさそう
2018/09/09(日) 18:05:38.77ID:4xLE2iMW
面倒臭いと思うよ

GUIだと大抵はイベントハンドラ多用する場合が多いから
Rustだと多分クロージャを渡すことになって
キャプチャする変数の所有権が絡んできて面倒なことになる

可能な限りデータを全て不変にして参照カウンタ使うのが一番楽そう
誰かもっと良い方法知ってたら教えて
2018/09/09(日) 18:56:16.25ID:UvF45WNM
キャプチャ必要かな。しなけりゃいいんじゃね?
RxやReduxみたいなのならRustでもできるような気がするが。
2018/09/09(日) 20:18:26.49ID:0/8ezFqB
wasm来たらhtmlでいいじゃん
2018/09/09(日) 23:57:56.69ID:SgQ7ecDz
>>209
相互/循環参照があり得るから参照カウンタじゃ無理だよ。
メモリ管理面の煩わしさを考慮するならjavaみたい
にイベントハンドラをtraitにしてユーザーデータ自身に
実装させればいいけど、今ではこのアプローチ自体が煩わしいと思う。

あと参照カウンタの場合一度に多すぎる解放処理が発生して
UIがもたつく可能性があるね。
トレーシングGCなら必要ないなら遅らせるからこういう事は起きない。

rustでトレーシングGC使う場合rootingはプログラマが行う必要があるから
自前でメモリ管理するのと同じだし、それ以外にGUIのシーングラフ自体にトレーシングGCがいるね。
ffiで既存のgui利用してrustからはデータ渡すだけにするのが簡単だと思う。
2018/09/10(月) 14:20:14.67ID:WMxfZQty
yewとrelmが気になる
2018/09/10(月) 19:39:57.20ID:3ZIEHwy7
ちなみにWEB開発のサーバーサイドでRustって現実味あるの?
Goがたまに使われてるから、Rustにもチャンスあるのかなと思ったけど
215デフォルトの名無しさん
垢版 |
2018/09/10(月) 20:02:06.79ID:WGo2tHWR
君が作ればチャンスは無限大
2018/09/10(月) 20:44:31.47ID:/rk0ECVs
Goは手軽さと性能のバランスが丁度いいから
2018/09/10(月) 21:33:40.66ID:nnRzz3th
現実味の程度による
2018/09/10(月) 21:58:39.88ID:ghTi64DR
予算と工数的に競技志向のFPSのバトルサーバならRustも現実的だけどマッチングサーバなら現実的じゃないとかありそうよね
219デフォルトの名無しさん
垢版 |
2018/09/10(月) 22:17:46.90ID:Jc2GxaH/
現実になるかどうかは言語じゃなくでプログラマ次第でしょ
俺は現実に使ってるけど
2018/09/10(月) 23:11:54.52ID:Vv+pRNC5
それ言い出したらアセンブラでもcでもプログラマ次第だわな。
2018/09/10(月) 23:16:12.14ID:ieMEhN8t
言語の決定権が
2018/09/11(火) 00:22:51.64ID:6iElNWnR
適材適所で言語を選べるか?って事でしょ
223デフォルトの名無しさん
垢版 |
2018/09/11(火) 00:59:46.27ID:S/u0i0hH
Rubyでいう

v = [1, 2, 3].map(){|e| e.to_f }

をrustで書きたくて、以下のように書いたんだけど、

let v = [1, 2, 3].iter().map(|x| *x as f32).collect();

vの型が推論できなくてコンパイルが通らない。助けて!
2018/09/11(火) 08:51:05.30ID:EMXKp1xw
let v = [1, 2, 3].iter().map(|x| *x as f32).collect::<Vec<_>>();
とか
let v:Vec<_> = [1, 2, 3].iter().map(|x| *x as f32).collect();

collectをジェネリックにする代わりに型推論できなくするのは良いアイデアだったのか
2018/09/11(火) 22:15:57.71ID:3LhuO07g
rust的にはturbofish使うもんだけど型注釈をよく見かけるね。
2018/09/11(火) 22:25:10.48ID:gyUsDA80
>>224
参考になりました!
これどちらも vec<f32> になるんですよね?
ヒープ確保じゃなくてスタックの配列への変換は無理ですかね?
2018/09/11(火) 23:40:31.29ID:gUgwDOju
>>226
ttps://stackoverflow.com/questions/26441916/dynamic-array-allocation-on-stack-in-c
Cでも駄目で、C++ならオッケーだったけな。Rustはできなかった。

もしできるようになっても、その関数の下にどれくらいコールスタックが積まれているのか、
この関数の上にどれくらい呼び出しが控えているかを熟慮しないとすぐstack overflow起こすんで、よっぽどクリティカルでなければやらんほうがええんじゃないか
2018/09/12(水) 00:27:32.15ID:NOD5QCpZ
>>227
逆やー。
Cではオプション扱い、C++では不可
2018/09/12(水) 01:54:03.48ID:+PSin/UV
>>228
追いかけきれてるわけではないけど、
allocaについても言及されているrfc#1909の第一段階が、8/19にマージされてるっぽい。

近い将来にallocaが完全サポートされる感じなんですかねぇ?
230226
垢版 |
2018/09/12(水) 03:38:36.44ID:SKJk4QVS
んーん、なるほど。
Rustには現状、スタックを伸長するalloca相当がないから件の場合、固定配列を求める事は出来ないってことですかね。
231デフォルトの名無しさん
垢版 |
2018/09/12(水) 19:11:41.82ID:VZx7VRPz
cloneていつ付けてる?
不用意にcloneするのを避けたくて最小限にしていたんだけどテスト書くとき辛い
derefでcloneされるのはcopyついているやつだけ?
2018/09/12(水) 20:48:13.21ID:SMBzO3VC
テストの時辛いってのは
↓のアトリビュートじゃ解決できないの?

#[cfg_attr(test, derive(Clone))]
233デフォルトの名無しさん
垢版 |
2018/09/12(水) 20:56:43.30ID:VZx7VRPz
omg
それでいきますわ!ありがとう!
2018/09/12(水) 22:49:53.02ID:b/qs2bwP
>>224
> 型推論できなくする
できるよ。
rust by exampleを例にすると
ttps://play.rust-lang.org/?gist=3cbef33631cbed2a2f0dce6439da4942&version=stable&mode=debug&edition=2015

上記の`i32::from_str`や`<i32 as std::str::FromStr>::from_str`のi32を見て推論してる。
ただのstd::str::FromStrでは推論できないってエラーになる。
2018/09/13(木) 18:02:19.58ID:k7xTaVQM
低コストで探索できるらしいB+木ってなんぞや。ググるといっぱい出てくるがどいつもこいつも抽象的
「で、それがどう活用できるのか?」と言う疑問が解決しない
もちろんRustでコーディングする予定
2018/09/13(木) 20:57:57.27ID:uqZEQXfr
>>235
てけとーにググってきたやつ
https://christina04.hatenablog.com/entry/2017/05/17/190000

で、B+ツリーはリーフノード間にリンクがある構造。

リンクがあると何が嬉しいかというと、
データベースで値の範囲で検索する際、先頭が見つかればリンクをたどってレコードが抽出できる。一例として。
2018/09/13(木) 21:29:20.76ID:IjhCAeem
B木とそのバリエーションは、ディスクのように一定の大きさを持ったブロック単位で読み書きする
記憶装置上に置くのに適した木構造。
そういう使い方をしないんだったら効率が悪い木構造でしかない。
238235
垢版 |
2018/09/13(木) 22:11:03.43ID:bNNEFAck
ありがとう

>>236
そのような説明はいっぱい出てくるんですがそれを実用へ落とし込むのに必要なピースがわかりません
データベースやファイルシステムを作れる人ならその説明で十分なのだろうと思いますが
自分はそのような経験がないので「ファイルシステム」や「B+木」等のキーワードからその不足分にたどり
着けないでいます

>>237
まさしくその用途を考えています
・大容量のボリュームを扱う (数百GB〜TB)
・ファイルをたくさん入れる (万〜)
・ファイルの中身へのアクセスコストが低い
・充填率に優れる
・フラッシュメモリベースのメディアで使用する
みたいなファイルシステムを作れないかなーと。個人が扱うファイルシステムだとFAT32あたりがよく使われると思いますが
そろそろ最大ボリュームの上限を突破しそうだし、ディレクトリの探索が容易じゃないし(特にLFN使用時)
充填率も良いとは言えないしと、いろいろ課題が多いのでいっそ俺ファイルシステムを作ろうかと
2018/09/13(木) 22:24:39.91ID:IjhCAeem
B木の実装は、共立出版の「ファイル構造」という本が詳細に分かりやすく説明されていてよかった。
残念ながらもう絶版らしいが。
2018/09/13(木) 23:23:13.30ID:pq1/pryD
bit別冊は大部処分したけど似た本はもう無いと判断して捨てなかった一冊

今ファイルシステムの勉強しようと思ったらLinuxや*BSDのソースコードよむぐらいしか無さそう
2018/09/14(金) 00:34:41.33ID:6kvA3LxK
>>239
英語版ならまだあるようだし、pdfでも見れるな。
2018/09/14(金) 11:13:17.17ID:hSQdDwhc
1.29.0来たね
2018/09/14(金) 17:04:14.02ID:zZtMiOUI
来たー
244235
垢版 |
2018/09/14(金) 22:55:36.33ID:L0IQQp+4
ありがとう

>>239-241
尼のマケプレの値段ヤバイですね。原書?のPDFは入手できたので見てみます

>今ファイルシステムの勉強しようと思ったらLinuxや*BSDのソースコードよむぐらいしか無さそう
うへぇ。ファイルシステムドライバの仕様がどうなっているのかを理解した上で、ジャーナリングや
スナップショットなどの付加機能を分離しつつ読む必要がありそう
オープンソースといえどもこの辺の情報はお世辞にも豊富ではないのもつらいところです
2018/09/14(金) 23:38:15.74ID:SIPw8V9s
まあ読むならext3ぐらいからじゃないかな?
losetupやbrdで小規模なデバイス上にmkfsしてhexdump使って媒体構造見るとか
system tapやblktraceで処理やアクセス箇所見るとか
crashでカレントプロセス覗くとか
printk仕込んで処理フロー確認するとか

昔勉強したけど他に何やったかもう覚えてないや
2018/09/14(金) 23:52:28.71ID:KYDDV16J
まさかこんなところで共立出版というガチな名前を聞くとは思わなかった。
ねねっちがいるのかこのスレには。最近Rと統計ばっかだよねあそこ。

ところでファイル構造の古書店の通販見つけたけど長すぎてurl貼れない。
2018/09/15(土) 00:11:05.25ID:UUtHx4qg
共立出版って大学数学やら物理やらの教科書としてはまあまあ使われてるんじゃない?
2018/09/15(土) 00:35:58.43ID:DqLr8CXZ
テキストとワインバーグ本とすべての人のためのJavaプログラミングのところだね。
2018/09/15(土) 03:08:49.57ID:aty0PGwQ
>>247
共立出版で情報系の教科書としては次の2つのシリーズは好著が多い良いシリーズだ
・情報数学講座
・アルゴリズムサイエンスシリーズ

あと、共立出版でプログラミングの本と言えばとっくに時代遅れになっているが
カーニハン&リッチーの『プログラミング言語C』は外せない
恐らくこの訳書は初版と第2版とを合わせると、共立出版の情報系の書籍の中で圧倒的な部数を稼いだはず

それ以外にもカーニハン本の翻訳を日本で最初に出したのは共立出版だ
『プログラム書法』、『ソフトウェア作法』、『プログラミング作法』とね

今の若い人たちは存在していたことすら知らないだろうけど、共立出版は bit という月刊誌を出していた
これはB5版のころはソフトウェア技術者にとっての教養雑誌で、理論的な話題の記事も載せていたし
チューリング賞の受賞記念講演の翻訳も毎年載せていた

上に名前が出てた『ファイル構造』は元は bit誌の別冊か臨時増刊として出版されたものが
需要が多かったので増刷を機に単行本化されたものだ

だが部数が徐々に減ってきたのをテコ入れとばかりに編集長が変わって、版型をB5版からA4版に変え
記事も教養的なのから実用的なもの中心に変えてしまったら、昔からの読者の多くが離れて
急激に廃刊(建前上は休刊)に追い込まれた

bit誌の廃刊以降、共立出版の情報科学系の書籍の出版点数はかなり減少したような印象がある
現在の共立出版は数学書の出版に特に力を入れているみたいだね
2018/09/15(土) 08:36:15.98ID:h1bufCaZ
bit本誌、いまだに捨てられなくて本棚1段占領している。
ユニマガは引っ越しの時に全部捨てちゃったが。
251デフォルトの名無しさん
垢版 |
2018/09/16(日) 01:33:00.78ID:w5/Hy2b1
rustの複数行文字列って空白消されちゃうの?

https://stackoverflow.com/questions/29483365/what-is-the-syntax-for-a-multiline-string-literal
2018/09/17(月) 00:20:05.94ID:XaZEKwwx
>>251
そんな話してない
2018/09/17(月) 20:15:25.23ID:aiBl5TGk
ここで質問しても許されるのでしょうか?ダメそうなら、申し訳ないです。
S式を使って遊ぼうとしてRustで見様見真似で書こうとしたんですが、コンパイルすらできません…。
ヘッタクソなコードで恐縮ですが、以下の52行目で「`s` does not live long enough」と怒られます。
https://pastebin.com/94ZPh2dL

まず、's'がスタックに確保されていて、parseから返った先で(つまり、スタックが解放されたあとで)
sを使う可能性があるから駄目だと言っているという認識ですが、正しいのでしょうか。
また、どのように対処すればよろしいでしょうか。

たぶん、根本的なところから理解できていないのだと思いますが、ご教授お願いいたします。
254デフォルトの名無しさん
垢版 |
2018/09/17(月) 22:18:18.83ID:faCDAGdL
Nodeがsへの参照を持っているのにsが解放されちゃうからじゃないかなあ
255デフォルトの名無しさん
垢版 |
2018/09/17(月) 22:22:00.90ID:faCDAGdL
みたかんじsymbolを&strじゃなくてStringにしてsをmoveさせればよいと思うけど
2018/09/17(月) 23:12:20.37ID:vky9u9CI
>>253
>sを使う可能性があるから駄目だと言っているという認識ですが、正しいのでしょうか。
合ってる。
sはparse関数の中で確保されてる。
そのsの借用(as_strしてるから借用することになる)をparse関数の外に出そうとしてるから
sの借用がsより長命になるのでrustではエラーになる。
sはparse関数の呼び出しが終わると解放されるからこれはダングリングポインタだよね。

>また、どのように対処すればよろしいでしょうか。
この場合、Node<'a>は文字列のsymbolフィールドを所有する側だから&strじゃなくてStringにすればいい。
apiの設計の時点でownd valueとborrowed valueを意識すればいい。
あとleftとrightが借用になってて、これはこれで設計的に間違いじゃないんだけど問題出るかも。
2018/09/18(火) 22:40:54.20ID:1KtNrcTb
コピーのコストが嫌だからとりあえず参照にしとこう、の精神は早々に破綻するよね
似たようなパーサ書いてて同じようにコンパイラにボロクソに言われたことがある

それ以来、このデータは誰が持っているべきなのか?を意識して書くようにして、
コンパイラに怒られたら「何か抜け道がきっとある」って思うようになれたし、リファレンス探すと大体解決するようになったよ
258デフォルトの名無しさん
垢版 |
2018/09/19(水) 11:41:33.60ID:PupZqwJJ
The Creator
2018/09/20(木) 01:17:05.56ID:U3x/57bG
皆さん、お返事ありがとうございます。
とても参考になります。
もう少し、頑張ってみます。

# ピンポイントで質問できるのは、本当にありがたいです。
260235
垢版 |
2018/09/21(金) 16:03:14.74ID:orU60ay9
ありがとう。File Structuresを眺めていますが英語なのであまりはかどらないです
二分木およびその発展系の説明は十中八九キーとして数字が使われているけど
ファイルシステムの入力はファイルパスであり可変長の文字列。この部分はどう埋めればいいのだろうか
ハッシュテーブルでも使えという話なのか?しかしそれならハッシュテーブルを使ってファイルのメタデータを
探索してしまった方が早そうだけどそういう問題ではないんだろうな
2018/09/21(金) 21:05:15.62ID:8EH2XxrU
最近でたオライリーの本って
Rust公式ドキュメントの2018でもSecond Editionでもなく
明らかに初版が元になってるよね時期的に
2018/09/21(金) 21:54:00.31ID:QjgEKJ4o
>>260
ブロック管理に使うからキーは数字で問題ない
2018/09/22(土) 11:42:21.78ID:wuQrrLSf
>>261
つまりオライリーの本は地雷?
2018/09/22(土) 12:08:43.13ID:avc67xv+
Second Edition出てるんだっけ?
ググってみても First Edition, Third Release が 2018-6-22 としか見つからないんだけど。
2018/09/22(土) 12:28:30.62ID:zH/ripxa
目次の構成はSecondに近いか?

サンプルプログラムの発行時期は10ヶ月前だからそんなに古くはないのかもな

オライリー原書
http://shop.oreilly.com/product/0636920040385.do
公式ドキュメント日本語訳
https://doc.rust-jp.rs/

ちな最新の2018版ってGithubみた感じリアルタイムに更新されてるっぽいな
https://doc.rust-lang.org/book/index.html
266235
垢版 |
2018/09/22(土) 12:29:23.44ID:+vE2oHEK
>>262
ありがとう。あれ?自分が勘違いしているのかな
B+木やB*木をファイルのメタデータの探索に使っていると思っていたけどそうではなくデータを格納しているブロックの探索に使っているということ?
2018/09/22(土) 13:25:51.18ID:avc67xv+
翻訳元のISBNと原書3rd releaseのISBNが違うことは確認したけど、たぶんこのerrataに載ってる修正くらいだろう。
https://www.oreilly.com/catalog/errata.csp?isbn=9781491927212
2018/09/22(土) 23:23:20.56ID:c8wHmvAd
>>261,265
オライリーのカニ本の初版一版は1.17.0。TRPLの日本語訳は相当古い。
2018はverでいうと1.31.0に相当する。いまのstabuleは1.29.0。
それにTRPLでもまだ文書化されてない機能あるしな。
非初学者向けならStep Ahead with Rustもある。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況