公式
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
975デフォルトの名無しさん
2023/03/02(木) 08:11:39.46ID:iXGuMNZc Rustに限った話じゃないけど低レイヤーに関する情報ってなかなか入手できない
Rustなら一応Embedded Rustがあるけど実践的にはいろいろ足りてない
Rustなら一応Embedded Rustがあるけど実践的にはいろいろ足りてない
976デフォルトの名無しさん
2023/03/02(木) 12:26:14.43ID:OJtdP8PO ↓この人、美しいクレイピングを書ける!
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を超えています。これ以上書き込みはできません。
ニュース
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★8 [ぐれ★]
- 首都圏の通勤ラッシュがどんどんひどくなっている JR埼京線は混雑率163%!コロナ前に戻ったわけ [首都圏の虎★]
- 【競馬】ジャパンカップ カランダガンが優勝! [久太郎★]
- 宮崎あおい「電子レンジ持ってない」“丁寧な暮らし”を告白「ごはんを温め直すときも蒸し器」に「凄すぎ」の声 [muffin★]
- 「督促状が集中…」立花孝志氏逮捕のウラでNHKが10倍“狙い撃ち”するN国党を信じた人たちの悲劇 [ぐれ★]
- 通夜なし1日葬が急増「負担なくお別れできた」分かれる選択「葬儀=迷惑?」に悩む理由 [Gecko★]
- 【紅の豚】加藤登紀子さんが高市早苗を猛烈批判キタ━(゚∀゚)━!「発言を取り消しなさい」 [153490809]
- 高市首相の存立危機発言、「よく言ってくれた」97%「発言を取り消すべきだ」3% [834922174]
- コメ卸大手社長「5kg3500円にすべきだ。JAや小売店に協力を要請して値下げを目指す。コメ離れが進めば、産業全体が立ちゆかなくなる」 [256556981]
- 【実況】博衣こよりのえちえちゼルダの伝説 ムジュラの仮面🧪★8
- 【高市速報】チーズ牛丼さん、大発狂。「他人の眉毛見てるキョロ充こそ知的◯害がある!🐮💢」 [559744496]
- 【悲報】38歳男「交際相手と温泉行ったら風呂上がりに布団を離されててショックだった」→温泉=セックスじゃないだろと炎上 [802034645]
