公式
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 part18
https://mevius.5ch.net/test/read.cgi/tech/1670663822/
探検
Rust part19
レス数が1000を超えています。これ以上書き込みはできません。
2023/01/17(火) 12:41:32.25ID:nikBFIMQ
977デフォルトの名無しさん
2023/03/02(木) 19:10:50.25ID:OHJUJNoL978デフォルトの名無しさん
2023/03/02(木) 22:00:06.30ID:C1WbSTgL 相変わらず複オジの会話の噛み合わなさとオレオレ用語の使い方は異常だな
979デフォルトの名無しさん
2023/03/02(木) 22:03:06.97ID:Op0Ow0AD どこにオレオレ用語があるのか教えて
980デフォルトの名無しさん
2023/03/03(金) 00:39:13.95ID:2c4ti5P+ >let [first, second, third] = vec else {
> return Err(...); // or None
>};
vecを直接マッチさせることはできないからsliceにする必要がある
それはいいとしてもvecを固定長のarrayにマッチさせて各要素を異なる名前の変数に入れるかエラーにするやり方はcode smellに感じる
vecが外部入力で変更しようがないのかもしれないがそれでも素直に長さチェックしたほうが良い
> return Err(...); // or None
>};
vecを直接マッチさせることはできないからsliceにする必要がある
それはいいとしてもvecを固定長のarrayにマッチさせて各要素を異なる名前の変数に入れるかエラーにするやり方はcode smellに感じる
vecが外部入力で変更しようがないのかもしれないがそれでも素直に長さチェックしたほうが良い
981デフォルトの名無しさん
2023/03/03(金) 00:48:28.99ID:a3+dFKh3 一応次スレ立てた
Rust part20
https://mevius.5ch.net/test/read.cgi/tech/1677771928/
ワッチョイスレならこっち
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part20
https://mevius.5ch.net/test/read.cgi/tech/1677771928/
ワッチョイスレならこっち
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
982デフォルトの名無しさん
2023/03/03(金) 01:01:26.40ID:5jfhiVlm >>980
スライスパターンとそのマッチングはRust公式リファレンスにも載っている普通の便利な用法
わざわざ長さチェックしていたらスライスパターンマッチングを知らない初心者かなと思ってしまう
さらに..パターンも併せて例えば
if let [.., ラス前, _] = s
これも公式に例として出ていて同様に長さチェックは不要
スライスパターンとそのマッチングはRust公式リファレンスにも載っている普通の便利な用法
わざわざ長さチェックしていたらスライスパターンマッチングを知らない初心者かなと思ってしまう
さらに..パターンも併せて例えば
if let [.., ラス前, _] = s
これも公式に例として出ていて同様に長さチェックは不要
983デフォルトの名無しさん
2023/03/03(金) 17:46:26.59ID:s0En6Xz7 >>973
moveしたいんなら
let [first, second, third]: [_; 3] = vec.try_into().map_err(|_| MyError::InvalidNumberOfHoge)?;
Vecを[T; N]にtry_intoした場合
Errの型がVecなのでmap_errしないと?が使えない
moveしたいんなら
let [first, second, third]: [_; 3] = vec.try_into().map_err(|_| MyError::InvalidNumberOfHoge)?;
Vecを[T; N]にtry_intoした場合
Errの型がVecなのでmap_errしないと?が使えない
984デフォルトの名無しさん
2023/03/03(金) 18:25:09.48ID:hYRwId4B referenceでも同じ
let [first, second, third]: &[_; 3] = vec[..].try_into().map_err(|_| MyError::InvalidNumberOfHoge)?;
let [first, second, third]: &[_; 3] = vec[..].try_into().map_err(|_| MyError::InvalidNumberOfHoge)?;
985デフォルトの名無しさん
2023/03/04(土) 00:46:15.62ID:ksgM7HUQ 結局?を無理に使うよりこの方が短く可読性もいいな
let [first, second, third] = vec[..] else {
return Err(MyError::InvalidNumberOfHoge);
};
let [first, second, third] = vec[..] else {
return Err(MyError::InvalidNumberOfHoge);
};
986デフォルトの名無しさん
2023/03/04(土) 20:27:33.18ID:ym5vMWPk そんな使い方が許されるのは個人プロジェクトか使い捨てのコードだけだね
987デフォルトの名無しさん
2023/03/04(土) 21:28:46.68ID:VYEasP1j ログファイルの各行をsplitして特定の項目(例:日時とIPとURL)だけを拾う処理とかで使えそう
Rustでは書いたことないけど
Rustでは書いたことないけど
988デフォルトの名無しさん
2023/03/04(土) 21:42:49.00ID:aBxEUUGf989デフォルトの名無しさん
2023/03/04(土) 23:13:10.54ID:Oy3wPidb >>986はいつもの荒らしだから無視しろ
荒らしは文句をつけるだけで修正案を出さない(出せない)から見分けられる
荒らしは文句をつけるだけで修正案を出さない(出せない)から見分けられる
990デフォルトの名無しさん
2023/03/06(月) 11:51:11.89ID:tj78G6sJ >>987
使い捨てのコードじゃなければそういうのはcsv parserやargument parserを使って構造体に変換するからパターンマッチでは書かないよ
使い捨てのコードじゃなければそういうのはcsv parserやargument parserを使って構造体に変換するからパターンマッチでは書かないよ
991デフォルトの名無しさん
2023/03/06(月) 12:45:03.92ID:I6GlZboG それは用途によりけり
構造体にDeserializeする場合もあれば構造体を用意しない場合もある
パース用途以外でマッチングならパーサーが出て来る余地すらない
構造体にDeserializeする場合もあれば構造体を用意しない場合もある
パース用途以外でマッチングならパーサーが出て来る余地すらない
992デフォルトの名無しさん
2023/03/11(土) 12:38:09.48ID:1tP1A91g 誰も埋めてくれない...
993デフォルトの名無しさん
2023/03/11(土) 12:38:57.76ID:1tP1A91g うーめ
994デフォルトの名無しさん
2023/03/11(土) 12:40:01.79ID:1tP1A91g うめうめ
995デフォルトの名無しさん
2023/03/11(土) 12:41:44.36ID:1tP1A91g うめーん
996デフォルトの名無しさん
2023/03/11(土) 12:43:10.68ID:1tP1A91g 梅太郎
997デフォルトの名無しさん
2023/03/11(土) 12:44:21.54ID:1tP1A91g うめめめめめ
998デフォルトの名無しさん
2023/03/11(土) 12:46:24.71ID:1tP1A91g うーめ
999デフォルトの名無しさん
2023/03/11(土) 12:47:53.90ID:1tP1A91g めーう
1000デフォルトの名無しさん
2023/03/11(土) 12:50:01.78ID:1tP1A91g 彡 ⌒ ミ
(´・ω・`)
(´・ω・`)
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 53日 0時間 8分 30秒
新しいスレッドを立ててください。
life time: 53日 0時間 8分 30秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 高市首相を「こんなバカ」呼ばわりで物議…人気ミュージシャンが声明「感情的で稚拙だった。適切な言い方でなかった」 [muffin★]
- 【物価高対策】「おこめ券を配布しません」大阪府交野の市長が明言「経費率が高い」「今高い米をムリして…」 [1ゲットロボ★]
- 芸能界ケンカ最強番付を発表「リングなら岡田准一」 横浜流星&新田真剣佑の名前も 1番強いのは誰か [牛丼★]
- 中国通ジャーナリスト「高市首相が反省、撤回必要ない…こういう外交待っていた」「日本のレッドラインを明確に示した」 ★2 [お断り★]
- たぬかなの“結婚隠し”に「弱者男性ビジネス」の声…本人が異例の対応「支払いの履歴持ってきてくれたら返金するから連絡してや」 [muffin★]
- 「報道特集」山本恵里伽アナ、日中緊張で「当たり前のことがはっきり言いづらい空気…ショック」 [首都圏の虎★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap605
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1812
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap606
- 他サポ2025-276
- とらせん IP
- こいせん 全レス転載禁止
- 【実況】博衣こよりのえちえちラムベガス🧪★6
- カニの輝き、これもうシャインポストだろ…石川出身声優ふるさと愛語る、能登麻美子さん新谷良子さん寺島拓篤さん [382163275]
- 老害「いいからこの漫画読め!面白いから!」→本当に面白かった漫画 [339035499]
- 高市早苗に3,000万円の献金を渡した団体、限界突破wwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【実況】博衣こよりのえちえちラムベガス🧪★7
- おさかなさんあつまれえ
