公式
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 part19
https://mevius.5ch.net/test/read.cgi/tech/1673926892/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part20
■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 00:45:28.73ID:vTVY069B
2023/03/08(水) 14:28:59.70ID:MGmZ5+PV
2023/03/08(水) 14:38:17.99ID:k26S3184
評判の悪い日本語訳で勉強するより公式でやったほうがいいのは当然だよな
反対する理由は見当たらない
反対する理由は見当たらない
63デフォルトの名無しさん
2023/03/08(水) 14:49:29.41ID:yw6CL/M82023/03/08(水) 15:29:08.93ID:xMERxfms
非公式おじさん涙目ワロw
2023/03/08(水) 17:16:33.70ID:YxWGdUuX
結局、足を引っ張るだけの無能は口だけ番長ということでいいのかね。
githubの日本語訳リポジトリに改善版のプルリクエスト出して貢献すりゃいいのに。
githubの日本語訳リポジトリに改善版のプルリクエスト出して貢献すりゃいいのに。
2023/03/08(水) 17:43:46.69ID:VNQhgWjd
2023/03/08(水) 17:49:07.09ID:WJ2h17EM
まだ件のAIで翻訳は無理なのか
2023/03/08(水) 18:03:44.14ID:dhvL467/
なんか頑張って擁護してる人は日本語版が古くないっていう根拠全く示せてないよね?
2023/03/08(水) 18:11:20.27ID:K08tGqYA
事実を書くと足を引っ張るだけの無能になるらしい
GitHub のリポジトリに Issue も PR もいくつかあるけど放置されてるじゃん
GitHub のリポジトリに Issue も PR もいくつかあるけど放置されてるじゃん
2023/03/08(水) 18:21:29.08ID:DM+uPewN
>>37の案でok
日本語版の問題点の話ばっかりでこれ以上スレ消費しても仕方ない気がする
日本語版の問題点の話ばっかりでこれ以上スレ消費しても仕方ない気がする
2023/03/08(水) 18:27:52.80ID:BrWt4HZU
2023/03/08(水) 19:27:32.79ID:mW0hpgEv
>>69
ならメンテナに立候補すりゃいいんじゃない?
ならメンテナに立候補すりゃいいんじゃない?
2023/03/08(水) 20:56:54.94ID:+7TMvH3q
もしかしてメンテナご本人?
2023/03/08(水) 22:28:52.95ID:cNf5UxLu
日本語版に問題がある
→じゃお前がPR送れ
IssueもPRも放置されてる
→じゃお前がメンテナやれ
なんなのこれ
こんなのが関係者にいるんなら改善される見込みゼロでしょ
→じゃお前がPR送れ
IssueもPRも放置されてる
→じゃお前がメンテナやれ
なんなのこれ
こんなのが関係者にいるんなら改善される見込みゼロでしょ
2023/03/08(水) 22:29:48.23ID:RPZ0ODVG
ここの皆Rust大好きな筈なのに日本語コミュニティに貢献の痕跡がないってやばない?
2023/03/08(水) 23:02:50.55ID:ijMIMHq8
非公式日本語翻訳には手を出さないよう
積極的に初心者を啓蒙するのが
日本のRustコミュニティにとっての最善手
積極的に初心者を啓蒙するのが
日本のRustコミュニティにとっての最善手
2023/03/09(木) 00:46:37.28ID:ehuwCZc+
>>75
今や匿名じゃないと困っちゃう人の巣窟ですからね
今や匿名じゃないと困っちゃう人の巣窟ですからね
2023/03/09(木) 01:16:43.58ID:Z9xocO1d
常駐してるアンチRustによる妨害連投だろ
何でも文句をつけてRustの足を引っ張ることが目的
日本語版の件も同じ
何でも文句をつけてRustの足を引っ張ることが目的
日本語版の件も同じ
2023/03/09(木) 02:21:45.87ID:ehuwCZc+
そして>>69に戻る
2023/03/09(木) 08:46:28.38ID:NWRX1mim
2023/03/09(木) 09:02:51.43ID:3zbp+azX
Rustアンチを見分けるのは簡単
今までどの話でも「改善案や代替案を出したり協力したり」せずに「批判したり言いがかりをつけたり潰そうとしたりする」
今回の話も同様
もし仮に具体的に深刻な問題があるならば改善する方向へ動けばよいだけの話
今までどの話でも「改善案や代替案を出したり協力したり」せずに「批判したり言いがかりをつけたり潰そうとしたりする」
今回の話も同様
もし仮に具体的に深刻な問題があるならば改善する方向へ動けばよいだけの話
2023/03/09(木) 09:14:52.26ID:bx/t5YIt
2023/03/09(木) 09:20:15.59ID:0a1GOjgJ
> 「批判したり言いがかりをつけたり潰そうとしたりする」
確かに日本語版の問題点が指摘されると
とにかく言いがかりをつけて潰そうとする人がいるね
確かに日本語版の問題点が指摘されると
とにかく言いがかりをつけて潰そうとする人がいるね
2023/03/09(木) 09:27:52.51ID:pceol7Cc
誤訳も放置
イシューも放置
プルリク来るけど知らんぷり
文句言うな
お前がやれ
今日も5chをぐーるぐる
オラこんなリポいやだ
オラこんなリポいやだ
イシューも放置
プルリク来るけど知らんぷり
文句言うな
お前がやれ
今日も5chをぐーるぐる
オラこんなリポいやだ
オラこんなリポいやだ
2023/03/09(木) 09:41:16.94ID:cLGdo+Dg
2023/03/09(木) 09:41:31.57ID:5eT48dzr
本家にある程度追いついてて誤訳があるとか未訳があるなら貢献しやすいけどそうじゃないからなぁ
まずはそこまでメンテナー側でやってくれたら貢献する人も現れるんじゃない?
まずはそこまでメンテナー側でやってくれたら貢献する人も現れるんじゃない?
2023/03/09(木) 09:42:37.79ID:ch2FekEs
>>84
草
草
2023/03/09(木) 09:51:30.09ID:MrYHSR72
Rustアンチは具体的に日本語版Bookのどの章のどの節にどういう問題があって改善案がどうなのかを言えない
RustアンチはRustやその普及を潰すことだけを目標にしている
RustアンチはRustやその普及を潰すことだけを目標にしている
2023/03/09(木) 09:56:19.19ID:5eT48dzr
2023/03/09(木) 09:56:38.71ID:bUyZbGMm
2023/03/09(木) 10:05:17.42ID:DF6AT3du
Rustコミュニティに貢献しても
非公式翻訳版の品質改善のために
PR出さずに批判するやつは全員アンチ扱い
非公式翻訳版の品質改善のために
PR出さずに批判するやつは全員アンチ扱い
2023/03/09(木) 10:07:21.23ID:fiidGuJR
>>89
オジ恥
オジ恥
2023/03/09(木) 10:20:37.62ID:5eT48dzr
>>92
事実に対して反論できず捨て台詞を吐くだけなら何も書かないほうがいいと思います
事実に対して反論できず捨て台詞を吐くだけなら何も書かないほうがいいと思います
2023/03/09(木) 10:26:46.29ID:0ZUHbZyh
2023/03/09(木) 10:39:22.78ID:JRh3xELi
もしかしてforkしてブランチ切る程度のこともやってないわけ?
ちょっと信じられないんだが
ちょっと信じられないんだが
2023/03/09(木) 10:45:17.46ID:dzdLgXqT
>>95
プルリク出しても無視されることが分かってるのに修正する気になるわけないじゃん
プルリク出しても無視されることが分かってるのに修正する気になるわけないじゃん
2023/03/09(木) 10:51:11.72ID:tzQKIk8q
日本語版には問題があるから英語版を使ったほうがいいという意見に対して
批判するならイシューやプルリク出せというのは論点のすり替え
批判するならイシューやプルリク出せというのは論点のすり替え
2023/03/09(木) 10:57:51.77ID:Nh0+4dpq
日本語版を潰すことだけに力を入れてるのかー
マジでアンチじゃん
マジでアンチじゃん
2023/03/09(木) 11:02:16.65ID:ehuwCZc+
全員単発
応仁の乱
応仁の乱
100デフォルトの名無しさん
2023/03/09(木) 11:02:36.11ID:5eT48dzr 問題点・改善点をあげてもアンチ乙で片付けられるんだから無敵だな
101デフォルトの名無しさん
2023/03/09(木) 11:36:59.36ID:I6UUv7Kk102デフォルトの名無しさん
2023/03/09(木) 11:41:54.63ID:vunFCsf3 まぁ実際のところ日本語版を読みたい初心者がこんなスレに来るわけないし
このスレのローカルルールとしては>>37でいいと思うけどな
もし日本語版を本気でどうにかしたい人がいるならその議論はzuilpなりGitHubのissueでやればいい
このスレのローカルルールとしては>>37でいいと思うけどな
もし日本語版を本気でどうにかしたい人がいるならその議論はzuilpなりGitHubのissueでやればいい
103デフォルトの名無しさん
2023/03/09(木) 11:59:25.10ID:IPNUA449104デフォルトの名無しさん
2023/03/09(木) 11:59:38.63ID:Js3muVMH10596,103
2023/03/09(木) 12:07:13.82ID:NxdTjqu4 もしもしはすぐID変わるからダメだな
これじゃIDコロコロするやつと変わんねぇよ
これじゃIDコロコロするやつと変わんねぇよ
106デフォルトの名無しさん
2023/03/09(木) 12:23:44.08ID:WMBmvI2V107デフォルトの名無しさん
2023/03/09(木) 12:53:07.30ID:vunFCsf3108デフォルトの名無しさん
2023/03/09(木) 13:38:49.60ID:tfi/zejU >>102
同意
同意
109デフォルトの名無しさん
2023/03/09(木) 13:56:08.35ID:qMTKidpI 5chの1スレで扱わなくなると殲滅されてしまうよう物なら
近いうちに自然淘汰されるだけだから
ここでは扱わないのが正解ということになる
近いうちに自然淘汰されるだけだから
ここでは扱わないのが正解ということになる
110デフォルトの名無しさん
2023/03/09(木) 14:02:00.14ID:KrFX8l8a 傍から見てるだけだけどさ
わざわざ日本語版を排除しようというのはアンチにしか生じない動機・感情よね
わざわざ日本語版を排除しようというのはアンチにしか生じない動機・感情よね
111デフォルトの名無しさん
2023/03/09(木) 14:10:10.57ID:WYfWQgCO 不正確なもんは排除しとくほうがマシ
それを許して欲しいと言う甘えは通用しない
所有権の複製とかいう用語が世間で通用しないのと同じ
それを許して欲しいと言う甘えは通用しない
所有権の複製とかいう用語が世間で通用しないのと同じ
112デフォルトの名無しさん
2023/03/09(木) 14:12:34.91ID:za1QZKNx 更新が英語版のmainに追い付いたらテンプレに戻すという条件付き除外措置なら誰も文句無いですか?
113デフォルトの名無しさん
2023/03/09(木) 14:13:47.86ID:KrFX8l8a 日本語版で不正確なところはどこなの?
所有権??
所有権??
114デフォルトの名無しさん
2023/03/09(木) 14:16:43.77ID:lc0skjdv 総務省の公文書のことか
115デフォルトの名無しさん
2023/03/09(木) 14:47:46.87ID:WYfWQgCO Rustアンチっていう表現がそもそも疑問なんよね
単にここじゃあ複オジが馬鹿にされてたり
rust-jpに疑問が持たれてたりするだけであって
それがなぜだか
ある人にとっては「Rustアンチ」ってことにすり替わっちゃう
単にここじゃあ複オジが馬鹿にされてたり
rust-jpに疑問が持たれてたりするだけであって
それがなぜだか
ある人にとっては「Rustアンチ」ってことにすり替わっちゃう
116デフォルトの名無しさん
2023/03/09(木) 14:50:24.91ID:TbSLyHqM117デフォルトの名無しさん
2023/03/09(木) 14:51:04.12ID:yQuaEoeh cargoを使用していると、過去のクレートのキャッシュ?なのかなんなのかわからないものがどんどん溜まっていってしまいます
これって使い続けるとどこまでも増えていってしまうのですか?何か容量を抑える策はあるのでしょうか?
SSDがしょぼいので気になってしまいます
これって使い続けるとどこまでも増えていってしまうのですか?何か容量を抑える策はあるのでしょうか?
SSDがしょぼいので気になってしまいます
118デフォルトの名無しさん
2023/03/09(木) 14:52:40.57ID:5eT48dzr >>117
cargo clean
cargo clean
119デフォルトの名無しさん
2023/03/09(木) 15:28:35.84ID:SZrfwfYj 会話や議論のベースとするには信頼が置けないというのが最大の理由でしょ
だからこのスレでは信頼のおける公式The Bookを使うローカルルールにするというだけのこと
日本語版の問題箇所を一つ一つ具体的にあげて改善していくためのスレじゃないんだからそれをやりたい人は>>102が言うようにzuilpなりGitHubでやるのが適切
だからこのスレでは信頼のおける公式The Bookを使うローカルルールにするというだけのこと
日本語版の問題箇所を一つ一つ具体的にあげて改善していくためのスレじゃないんだからそれをやりたい人は>>102が言うようにzuilpなりGitHubでやるのが適切
120デフォルトの名無しさん
2023/03/09(木) 15:45:47.39ID:hrQLf9QV アンチというレッテル貼りしてるだけの人の動機は何なんだろう?
121デフォルトの名無しさん
2023/03/09(木) 15:53:09.08ID:RjLT18Ud122デフォルトの名無しさん
2023/03/09(木) 16:11:36.62ID:od/fqKtF バカが2人に増えたね
信者複製おじさんと謎のrust-jp陰謀論おじさん
地獄
信者複製おじさんと謎のrust-jp陰謀論おじさん
地獄
123デフォルトの名無しさん
2023/03/09(木) 18:38:23.80ID:wqVFkatU Bookの日本語版を一通り読んでみたけど特に間違ったことはなさげ
訳語は一部意見割れるかもしれないけど不可はない感じ
ネット上の日本語のRust入門としてベストじゃないかな
訳語は一部意見割れるかもしれないけど不可はない感じ
ネット上の日本語のRust入門としてベストじゃないかな
124デフォルトの名無しさん
2023/03/09(木) 18:53:24.39ID:1oUy2fzR え、内容が古いことは無視ですか?
125デフォルトの名無しさん
2023/03/09(木) 19:03:49.80ID:wqVFkatU なにか古くて間違ってるようなことなかったと思うよ
126デフォルトの名無しさん
2023/03/09(木) 20:59:36.65ID:5eT48dzr127デフォルトの名無しさん
2023/03/09(木) 22:00:09.63ID:TpJxaXq0128デフォルトの名無しさん
2023/03/09(木) 22:25:18.34ID:5eT48dzr >>127
Box 使用箇所は本家では直ってるところだからここだけ言ってもしょうがないよ
> 間違ってるから優先して直してって言えば対応してくれる
issue,pr は何個かあるけどどれも放置だから無駄だよ
Box 使用箇所は本家では直ってるところだからここだけ言ってもしょうがないよ
> 間違ってるから優先して直してって言えば対応してくれる
issue,pr は何個かあるけどどれも放置だから無駄だよ
129デフォルトの名無しさん
2023/03/09(木) 22:28:14.00ID:Qg5Vw7uS130デフォルトの名無しさん
2023/03/09(木) 23:01:25.11ID:bker4XmI じゃスルーしてたlet-else話でもするか
>>19のリンクに書いてあるlet-elseのリファクタリングってあり?
Afterでもダメってほどじゃないが俺はBeforeのほうがいいように思える
//Before
pub async fn close(&mut self) -> Result<()> {
if let Some(mut file) = self.file.take() {
debug!("File {} closed", self.filename());
file.flush().await?;
}
Ok(())
}
//After
pub async fn close(&mut self) -> Result<()> {
let Some(mut file) = self.file.take() else {
return Ok(());
};
debug!("File {} closed", self.filename());
file.flush().await
}
>>19のリンクに書いてあるlet-elseのリファクタリングってあり?
Afterでもダメってほどじゃないが俺はBeforeのほうがいいように思える
//Before
pub async fn close(&mut self) -> Result<()> {
if let Some(mut file) = self.file.take() {
debug!("File {} closed", self.filename());
file.flush().await?;
}
Ok(())
}
//After
pub async fn close(&mut self) -> Result<()> {
let Some(mut file) = self.file.take() else {
return Ok(());
};
debug!("File {} closed", self.filename());
file.flush().await
}
131デフォルトの名無しさん
2023/03/09(木) 23:19:16.56ID:17jElPHd132デフォルトの名無しさん
2023/03/10(金) 07:39:28.49ID:eGAweG+/133デフォルトの名無しさん
2023/03/10(金) 12:26:56.89ID:5qa3scwI134デフォルトの名無しさん
2023/03/10(金) 13:39:34.28ID:YUaQrZ1H >>130
その2つならif letバージョンの方が読みやすいね
その2つならif letバージョンの方が読みやすいね
135デフォルトの名無しさん
2023/03/10(金) 17:33:37.91ID:THb1tZPF >>130
前者だな
Okでも違う値を返すようになったりネストが深くなったりした段階でリファクタリングを考慮すれば十分
その例ではtake、flush、dropの一連のつながりを切るほどのメリットが全くない
あと後者はfile.flush.await.into()にする必要があるかもしれない
前者だな
Okでも違う値を返すようになったりネストが深くなったりした段階でリファクタリングを考慮すれば十分
その例ではtake、flush、dropの一連のつながりを切るほどのメリットが全くない
あと後者はfile.flush.await.into()にする必要があるかもしれない
136デフォルトの名無しさん
2023/03/10(金) 17:46:09.19ID:Lf3CpR6K137はちみつ餃子 ◆8X2XSCHEME
2023/03/10(金) 17:46:47.36ID:wtzqTKjF >>130
私も前者だと思う。
見通しが特に悪くなるほど複雑な場合でないならやろうとしていることがそのままコードに表れているほうが良くて、
前者のほうが何をやろうとしているのかスッと読める感じがする。
私も前者だと思う。
見通しが特に悪くなるほど複雑な場合でないならやろうとしていることがそのままコードに表れているほうが良くて、
前者のほうが何をやろうとしているのかスッと読める感じがする。
138デフォルトの名無しさん
2023/03/10(金) 18:03:17.42ID:Qo+lY2qI139デフォルトの名無しさん
2023/03/10(金) 19:08:36.07ID:HKUOk1Tv >>138
場面に応じてどちらが向いているのか変わるから場面がわかる特定の例で比較することに意味があるのでは?
場面に応じてどちらが向いているのか変わるから場面がわかる特定の例で比較することに意味があるのでは?
140デフォルトの名無しさん
2023/03/10(金) 19:13:36.55ID:Qo+lY2qI >>139
返り値がResult<()>でelse時にErrではなくOk(())という極めて特殊な偏った例になんの意味があるんだ?
返り値がResult<()>でelse時にErrではなくOk(())という極めて特殊な偏った例になんの意味があるんだ?
141デフォルトの名無しさん
2023/03/10(金) 19:17:05.20ID:ha1WEkSQ 意味の有る無しを断じるあたり幼稚やな
周り見てご覧
キミ以外はそんなとこに拘っとらんやろ?
周り見てご覧
キミ以外はそんなとこに拘っとらんやろ?
142デフォルトの名無しさん
2023/03/10(金) 19:36:05.08ID:YsUJsRqF143デフォルトの名無しさん
2023/03/10(金) 19:40:18.95ID:F+OjF9fC 好きな方使ってろバカども
前スレそれで使い潰してまだ反省してねえのか
前スレそれで使い潰してまだ反省してねえのか
144デフォルトの名無しさん
2023/03/10(金) 20:24:59.10ID:7c0jaWrI145デフォルトの名無しさん
2023/03/10(金) 21:43:27.35ID:+jgRtbOv 現在のIT業界に「代替メモリレイアウト」という概念はありますか?
146130
2023/03/10(金) 22:22:59.62ID:IYh2ezPU147デフォルトの名無しさん
2023/03/10(金) 22:39:57.98ID:IYh2ezPU148デフォルトの名無しさん
2023/03/10(金) 23:34:37.12ID:/vLExm3P 好きにしたらええ
それより前スレ埋めない?
それより前スレ埋めない?
149デフォルトの名無しさん
2023/03/10(金) 23:46:20.34ID:Ug/D0/8N >>145
「代替メモリレイアウト」という概念は聞いたことがないが悪魔の証明は無理なのでそういう概念がある可能性を完全に否定することはできない
非公式の日本語翻訳で使われてる用語みたいだけどこのスレで質問する際は公式のドキュメント(英語)を参照するようにしてね
「代替メモリレイアウト」という概念は聞いたことがないが悪魔の証明は無理なのでそういう概念がある可能性を完全に否定することはできない
非公式の日本語翻訳で使われてる用語みたいだけどこのスレで質問する際は公式のドキュメント(英語)を参照するようにしてね
150デフォルトの名無しさん
2023/03/10(金) 23:54:51.68ID:0dyEfhS9 if letを使うかlet elseを使うかはケースバイケースでどちらもありうるのだから揉めるようなことではないと思うんだよな
let elseは要らないから削除せよ!と言ってた人はここを荒らすためだけに言ってただけだと思うし
let elseは要らないから削除せよ!と言ってた人はここを荒らすためだけに言ってただけだと思うし
151デフォルトの名無しさん
2023/03/11(土) 00:35:13.78ID:fYMzQaF5 >>150
ケースバイケースだからこそ具体的な特定のケースを例にどちらがいいかを話してるんだろ
ケースバイケースだからこそ具体的な特定のケースを例にどちらがいいかを話してるんだろ
152デフォルトの名無しさん
2023/03/11(土) 00:54:45.06ID:48Pa/Qcy Rust標準ライブラリのソースを見るとよくわかるよ
let else構文はもちろん使われまくっている
可読性が良くなるからね
let else構文はもちろん使われまくっている
可読性が良くなるからね
153デフォルトの名無しさん
2023/03/11(土) 06:31:08.87ID:nd+w7sZp インストールでつまずいたのでチラ裏させてくれ
サンプルプログラムをコンパイルしたら`link.exe` not foundでコンパイルできなかった。
原因は、Build Tools for Visual Studio 2022をインストールしてしまったこと、アンインストールして
Build Tools for Visual Studio 2019をインストールしてコンパイルできた。
サンプルプログラムをコンパイルしたら`link.exe` not foundでコンパイルできなかった。
原因は、Build Tools for Visual Studio 2022をインストールしてしまったこと、アンインストールして
Build Tools for Visual Studio 2019をインストールしてコンパイルできた。
154デフォルトの名無しさん
2023/03/11(土) 11:07:27.22ID:ShQc/Olf 相も変わらず1人だけズレてるな
155デフォルトの名無しさん
2023/03/11(土) 11:07:29.53ID:phgAMXMr156デフォルトの名無しさん
2023/03/11(土) 12:18:40.44ID:JdznY9pT let-elseはパターンに合致しないと処理を継続できない場合に早期離脱(return、break、etc.)するための構文でしょ
それ以外でも使えるだろうけど逆に可読性が落ちそう
従来の言語で
if (nullable_obj == null) { continue; } // この行を書き忘れるとえらいことになる
nullable_obj.do_something();
...
みたいに書ける処理を今までのRustだと
if let Some(obj) = nullable_obj {
obj.do_something();
...
} else { // ループの末尾ならここは不要
continue;
}
か無理やりunwrapして
if nullable_obj.is_none() { continue; } // この行を書き忘れるとえらいことになる
let obj = nullable_obj.unwrap();
obj.do_something();
...
みたいに書くしかなかったけど、let-elseを使うと従来の言語に近い形で書けるようになる
let Some(obj) = nullable_obj else { continue; }; // この行を書き忘れることはできない
obj.do_something();
...
returnだと?演算子で十分な場合もあるだろうから敢えてcontinueにした
それ以外でも使えるだろうけど逆に可読性が落ちそう
従来の言語で
if (nullable_obj == null) { continue; } // この行を書き忘れるとえらいことになる
nullable_obj.do_something();
...
みたいに書ける処理を今までのRustだと
if let Some(obj) = nullable_obj {
obj.do_something();
...
} else { // ループの末尾ならここは不要
continue;
}
か無理やりunwrapして
if nullable_obj.is_none() { continue; } // この行を書き忘れるとえらいことになる
let obj = nullable_obj.unwrap();
obj.do_something();
...
みたいに書くしかなかったけど、let-elseを使うと従来の言語に近い形で書けるようになる
let Some(obj) = nullable_obj else { continue; }; // この行を書き忘れることはできない
obj.do_something();
...
returnだと?演算子で十分な場合もあるだろうから敢えてcontinueにした
157デフォルトの名無しさん
2023/03/11(土) 12:36:22.58ID:GtLfWJGz let elseはcontinueでもbreakでもreturnでもpanicでも!なら何でも使えるし使われている
returnの時にErr返しなら?を使ってもよいが
.ok_or_else(|| Error)?; とするか
elseでreturnするか
どちらが見やすいかは意見が別れそうだ
returnの時にErr返しなら?を使ってもよいが
.ok_or_else(|| Error)?; とするか
elseでreturnするか
どちらが見やすいかは意見が別れそうだ
158デフォルトの名無しさん
2023/03/11(土) 12:39:50.82ID:WrUJ3YdB Rustに限った話ではないがリファクタリングの良し悪しを判断するためには該当箇所を含む関数の全容(特に関数シグニチャ)とその関数を呼び出すコード例が最低限必要
関数シグニチャも呼び出すコードもない例では話にならない
呼び出し側が絶対変更できない前提なら前者だけでもいい場合があるが往々にして部分最適になりがち
>>130の例でも呼び出す側を考慮するとまた違った選択肢が見えてくる
関数シグニチャも呼び出すコードもない例では話にならない
呼び出し側が絶対変更できない前提なら前者だけでもいい場合があるが往々にして部分最適になりがち
>>130の例でも呼び出す側を考慮するとまた違った選択肢が見えてくる
159デフォルトの名無しさん
2023/03/11(土) 12:48:32.01ID:Us0DtIzW コーディング規約で早期リターンが推奨される開発現場であれば
その規約に準拠した表現が書きやすくなったのは良いこと
つうかそのつもりで読んでたから後者のほうが読みやすかったわ
その規約に準拠した表現が書きやすくなったのは良いこと
つうかそのつもりで読んでたから後者のほうが読みやすかったわ
160デフォルトの名無しさん
2023/03/11(土) 13:41:29.57ID:+LV0PjS3161デフォルトの名無しさん
2023/03/11(土) 14:09:20.55ID:zozTFx1B 隔離スレでやれ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★8 [BFU★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【ガチ正論】一般人「中国に規制制裁されて、『中国ムカつく』じゃなくて矛先が『許さんぞ高市』になってる奴、頭おかしいの?」 ★2 [153490809]
- 鼻糞の残糞感がずっと消えない
- NHKニュースウオッチ9「日本側は対話にオープンな姿勢で安定した日中関係を築きたい考えなのに中国が意固地で糸口が見いだせない」 [904151406]
- 【ぺこ専🐰】なんG 兎田ぺこら突発配信実況スレ🏡【ホロライブ▶】
- 日中戦争起きたら5日で自衛隊壊滅するらしい。じゃあ徴兵も無いし、俺等が必死になって反対してやる理由なくね? [237216734]
- 陸上自衛隊員(43)逮捕 赤坂ライブハウスの出演女性刺傷 殺人未遂容疑 [377482965]
