公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part25
https://mevius.5ch.net/test/read.cgi/tech/1722354386/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part26
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2024/09/20(金) 22:18:38.38ID:c48cFuZJ2デフォルトの名無しさん
2024/09/20(金) 22:19:18.10ID:c48cFuZJ Rust The Book (日本語版)
https://doc.rust-jp.rs/book-ja/
Rust edition guide (日本語版)
https://doc.rust-jp.rs/edition-guide/
Rust by example (日本語版)
https://doc.rust-jp.rs/rust-by-example-ja/
Rust cookbook (日本語版)
https://uma0317.github.io/rust-cookbook-ja/
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
Rust nomicon book (日本語版)
https://doc.rust-jp.rs/rust-nomicon-ja/
Rust async book (日本語版)
https://async-book-ja.netlify.app/
Rust WASM book (日本語版)
https://moshg.github.io/rustwasm-book-ja/
Rust embeded book (日本語版)
https://tomoyuki-nakabayashi.github.io/book/
Rust enbeded discovery (日本語版)
https://tomoyuki-nakabayashi.github.io/discovery/
Rust Design Patterns (日本語版)
https://qiita.com/Yappii_111/items/4ccc3a8461cdd4035651
https://qiita.com/Yappii_111/items/654717e6a6a980722189
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
https://doc.rust-jp.rs/book-ja/
Rust edition guide (日本語版)
https://doc.rust-jp.rs/edition-guide/
Rust by example (日本語版)
https://doc.rust-jp.rs/rust-by-example-ja/
Rust cookbook (日本語版)
https://uma0317.github.io/rust-cookbook-ja/
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
Rust nomicon book (日本語版)
https://doc.rust-jp.rs/rust-nomicon-ja/
Rust async book (日本語版)
https://async-book-ja.netlify.app/
Rust WASM book (日本語版)
https://moshg.github.io/rustwasm-book-ja/
Rust embeded book (日本語版)
https://tomoyuki-nakabayashi.github.io/book/
Rust enbeded discovery (日本語版)
https://tomoyuki-nakabayashi.github.io/discovery/
Rust Design Patterns (日本語版)
https://qiita.com/Yappii_111/items/4ccc3a8461cdd4035651
https://qiita.com/Yappii_111/items/654717e6a6a980722189
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
3デフォルトの名無しさん
2024/09/20(金) 22:22:15.11ID:c48cFuZJ Rust Reference Book
https://doc.rust-lang.org/reference/
Rust Standard Library
https://doc.rust-lang.org/std/
Rust rustc Book
https://doc.rust-lang.org/rustc/
Rust rustdoc Book
https://doc.rust-lang.org/rustdoc/
Rust rustup Book
https://rust-lang.github.io/rustup/
Rust Cargo Book
https://doc.rust-lang.org/cargo/
Rust unstable Book
https://doc.rust-lang.org/nightly/unstable-book/
Rust macro Book
https://danielkeep.github.io/tlborm/book/
Rust CLI (Command Line Interface) apps Book
https://rust-cli.github.io/book/
Rust Future Book
https://cfsamson.github.io/books-futures-explained/
Rust async-std Book
https://book.async.rs/
Rust tokio Book
https://tokio.rs/tokio/tutorial
Rust serde Book
https://serde.rs/
Rust Performance Book
https://nnethercote.github.io/perf-book/
https://doc.rust-lang.org/reference/
Rust Standard Library
https://doc.rust-lang.org/std/
Rust rustc Book
https://doc.rust-lang.org/rustc/
Rust rustdoc Book
https://doc.rust-lang.org/rustdoc/
Rust rustup Book
https://rust-lang.github.io/rustup/
Rust Cargo Book
https://doc.rust-lang.org/cargo/
Rust unstable Book
https://doc.rust-lang.org/nightly/unstable-book/
Rust macro Book
https://danielkeep.github.io/tlborm/book/
Rust CLI (Command Line Interface) apps Book
https://rust-cli.github.io/book/
Rust Future Book
https://cfsamson.github.io/books-futures-explained/
Rust async-std Book
https://book.async.rs/
Rust tokio Book
https://tokio.rs/tokio/tutorial
Rust serde Book
https://serde.rs/
Rust Performance Book
https://nnethercote.github.io/perf-book/
2024/09/21(土) 10:38:37.60ID:LGjZocUf
6デフォルトの名無しさん
2024/09/21(土) 11:45:15.28ID:FOWjpCKL 変な質問かもしれないけどRustでもUMLのクラス図みたいなものって有効?
必要なケースとしては、プログラムの設計を他者と共有する必要があり、かつ相手は時間をとってコードを詳細に読むわけでなないという場合
今どきUMLという感じかもしれないけど、社内の他のプロジェクトではUMLを (常にではなく、必要に応じて時々) 使っている
Rustのプロジェクトでもこれを求められた場合にどう対応すれば良いのか
型同士の関係 (1対多などの数量関係や呼び出し関係) を説明するくらいはできるけど、継承などオブジェクト指向を意識したところがあるから、Rustのコードの設計を説明するのに必ずしも向かない気もする
こういう、設計を共有するのってみんなどうしてる?
必要なケースとしては、プログラムの設計を他者と共有する必要があり、かつ相手は時間をとってコードを詳細に読むわけでなないという場合
今どきUMLという感じかもしれないけど、社内の他のプロジェクトではUMLを (常にではなく、必要に応じて時々) 使っている
Rustのプロジェクトでもこれを求められた場合にどう対応すれば良いのか
型同士の関係 (1対多などの数量関係や呼び出し関係) を説明するくらいはできるけど、継承などオブジェクト指向を意識したところがあるから、Rustのコードの設計を説明するのに必ずしも向かない気もする
こういう、設計を共有するのってみんなどうしてる?
2024/09/21(土) 12:11:46.71ID:3vskc6nv
>>6
トレイトをインターフェイスとみなせば (わかりやすいかどうかは置いといて) 一応は成立すると思う。
だけどそういう図を見るくらいなら cargo doc を読んでいくほうがわかりやすいんじゃないかなぁ。
UML が有用なのはシーケンス図とか、抽象度の高い用途のほうでしょ。
トレイトをインターフェイスとみなせば (わかりやすいかどうかは置いといて) 一応は成立すると思う。
だけどそういう図を見るくらいなら cargo doc を読んでいくほうがわかりやすいんじゃないかなぁ。
UML が有用なのはシーケンス図とか、抽象度の高い用途のほうでしょ。
8デフォルトの名無しさん
2024/09/21(土) 12:37:38.28ID:FOWjpCKL 開発者が相手ならCargo docは有効だと思う
だけど、説明したいのは構造体やメソッドの使い方じゃなくて、ドメイン側のロジックが適切な型として表現されてるか、それに抜け漏れがないかといった点
それを視覚的に示せるということでクラス図を例に出した
相手はRustのコードに直接触れるわけではないけど、ドメイン側の知識を持ってて、そういう観点からのレビューをしたいという場面
書いてて思ったけど、Rustのenumで表現されてる型がやや表現しづらい?
OOPだとICommandのようなインタフェースを継承させてたけど、その代わりにenum Command にしてるケース
UMLに合うようにRust側のコードをトレイトを使って書き直すのも本末転倒な感じがする
だけど、説明したいのは構造体やメソッドの使い方じゃなくて、ドメイン側のロジックが適切な型として表現されてるか、それに抜け漏れがないかといった点
それを視覚的に示せるということでクラス図を例に出した
相手はRustのコードに直接触れるわけではないけど、ドメイン側の知識を持ってて、そういう観点からのレビューをしたいという場面
書いてて思ったけど、Rustのenumで表現されてる型がやや表現しづらい?
OOPだとICommandのようなインタフェースを継承させてたけど、その代わりにenum Command にしてるケース
UMLに合うようにRust側のコードをトレイトを使って書き直すのも本末転倒な感じがする
2024/09/21(土) 12:53:36.90ID:3vskc6nv
>>8
プログラムとしての合理性とドメイン側のロジックがそれほど一致しないのは普通のことなのでそういう形でレビューする事例は全然聞いたことないな。
特に専門的でプログラマの理解が追っつかないレベルだとドメイン側のロジックに忠実にやるしかないのだろうけど……。
プログラムとしての合理性とドメイン側のロジックがそれほど一致しないのは普通のことなのでそういう形でレビューする事例は全然聞いたことないな。
特に専門的でプログラマの理解が追っつかないレベルだとドメイン側のロジックに忠実にやるしかないのだろうけど……。
2024/09/21(土) 13:19:40.34ID:EbQ+iJJK
経験的にRustの構造体はデータベース設計のER図が合いそう
ライフタイムの関係で
・構造体のDrop≒レコードのdelete
・参照≒行ロック
みたいなイメージがしやすくて実装とのギャップを減らせると思う
enumはER図だとsubtypeに相当する
ライフタイムの関係で
・構造体のDrop≒レコードのdelete
・参照≒行ロック
みたいなイメージがしやすくて実装とのギャップを減らせると思う
enumはER図だとsubtypeに相当する
2024/09/21(土) 13:46:07.48ID:MXmAIymZ
テンプレートメタプログラミングに対応してないなら、C++ですら使えないと思う
2024/09/21(土) 14:16:16.53ID:EbQ+iJJK
メタコードでも最終的に具現化されるから大丈夫でしょ
メタの部分はメタのままモデル化しとけばいい
メタの部分はメタのままモデル化しとけばいい
2024/09/21(土) 15:26:24.58ID:WvtGOXLQ
2024/09/21(土) 16:07:13.97ID:6ZRew6VN
VS CODEとrust-anlayzerでrustを書いてるんだけど、
if文を1行でこう書きたいんだけど、自動整形で改行されちゃうんだけど、↓を許容する設定の仕方知っている人いたら教えて~
if 1 == 1 { true } else { false }
if文を1行でこう書きたいんだけど、自動整形で改行されちゃうんだけど、↓を許容する設定の仕方知っている人いたら教えて~
if 1 == 1 { true } else { false }
2024/09/21(土) 16:47:05.18ID:LGjZocUf
rustfmtを使って整形しているのならば
#[rustfmt::skip]
#[rustfmt::skip]
2024/09/21(土) 16:52:58.13ID:EbQ+iJJK
(if 1 == 1 { true } else { false })
let foo = if 1 == 1 { true } else { false };
みたいにカッコで囲むかletで値を受けるならrustfmtのsingle_line_if_else_max_widthが効きそうだけど
裸のifだと設定では無理かも
#[rustfmt::skip]
if 1 == 1 { true } else { false };
でskipするしかない
rustfmtの設定はrustfmt.toml(Cargo.tomlと同じ場所)で
single_line_if_else_max_width = 80
とか書けばいい
参考:github.com/rust-lang/rustfmt/blob/master/Configurations.md
let foo = if 1 == 1 { true } else { false };
みたいにカッコで囲むかletで値を受けるならrustfmtのsingle_line_if_else_max_widthが効きそうだけど
裸のifだと設定では無理かも
#[rustfmt::skip]
if 1 == 1 { true } else { false };
でskipするしかない
rustfmtの設定はrustfmt.toml(Cargo.tomlと同じ場所)で
single_line_if_else_max_width = 80
とか書けばいい
参考:github.com/rust-lang/rustfmt/blob/master/Configurations.md
2024/09/21(土) 17:16:34.53ID:MXmAIymZ
設計図と実物のギャップに比べたら改行がちょっと多い程度の差は
人体に無害だ
だが科学的に無害だとしても人の機嫌を損ねることは許されない
人体に無害だ
だが科学的に無害だとしても人の機嫌を損ねることは許されない
2024/09/21(土) 18:16:59.29ID:3vskc6nv
2024/09/21(土) 18:24:23.07ID:mSwTwwna
2024/09/21(土) 19:05:43.59ID:wwpfBAxB
boolならif else必要ないやろ
2024/09/21(土) 19:52:13.10ID:shE6x/5+
trueのときの値,falseのときの値って意味で書いてんじゃねえかな
2024/09/21(土) 20:44:43.28ID:6ZRew6VN
2024/09/21(土) 22:18:19.38ID:bd1za6rG
2024/09/21(土) 22:31:50.56ID:klppfUZq
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】 中国国営新聞社 「日本はすでに代価を支払った」 中国SNSで1位に 高市総理の発言めぐり [お断り★]
- 【イタリア】ベネチアの運河が緑に、環境活動家グレタ・トゥンベリさんを含む気候活動家が抗議で国内10都市の運河などに染料流し込む [ぐれ★]
- 小泉進次郎防衛相「共産党が日本の弾薬の数や配備を質問してきた、そんなこと言うわけない、手の内を見せるべきではない」 [お断り★]
- スペイン、移民受け入れで成長 1人当たりGDP日本超え [蚤の市★]
- 【相撲】大の里が千秋楽を休場 [9999★]
- 【芸能】上沼恵美子「大っ嫌いになった…マネジャーが良くない」ゲスト女優の好感度が急降下 「彼女もイケ好かん子やったけどな」 [冬月記者★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap601
- 他サポ 2025-262
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1808
- 東京競馬5回4日目3
- 2025 SUPER FORMULA Lap19
- 京都競馬4回6日目エリザベス女王杯★4
- 経産省「半導体シェア世界一にしたい」企業「冷やかしは結構」経産省「(100億円スッ)一つか、二つか、いくつ出せばいいんだ?あ?」 [685821185]
- 【高市悲報】👩「性犯罪は去勢しろ!」👈なんでこの手の人ら性犯罪「だけ」、異様に身体刑を望むの?例えば万引きは? [762037879]
- 高市早苗、G20遅刻、夕食会欠席 🦎「アタシ絶ッッッ対中国に謝らないから!😡」 [165981677]
- 【悲報】なんか熱っぽくて喉が痛い!寒気もするし全身ダルい!!これって…もしかして [881676371]
- ニコニコニッコリ日曜日😆のええよぉっ⁉⁉ちゅちぇっ👶連呼し放題スレ
- 高市と麻生が2万出さないために逮捕される生活困窮者が続出 [389326466]
