stefafafan の fa は3つです

"すてにゃん" こと id:stefafafan のブログです

Rustのfor式が式である件

Rustについて一瞬調べてたら for式 (for expression) があるらしいということがわかって、値を返すことを期待していたらどうやら () を返すらしかった。

以下のドキュメントをみるとStatementsではなくExpressionsの中で for expression と紹介されていた。
doc.rust-lang.org

調べてたら以下のissueに辿り着いた。 (2017年に閉じられている)
github.com

forやwhileループで値を返せてほしいという旨のissueで色々会話があったけど最終的には「ループで値を返すのはエッジケースだしdownsideが多そうなので現状は () を返すことにします」でまとまっていた。

[2022/2/27 追記]

Twitterで、forとwhileで値を返すのがエッジケースで、loopはそうではないということを教えていただけましたので、追記しておきます。