Rustのfor
ループは、Cスタイル言語のループとは少し異なります。私は、Rustで同様の方法で以下の同じ結果を達成できるかどうかを理解しようとしています。i ^ 2 <nの条件に注意してください。
for (int i = 2; i * i < n; i++)
{
// code goes here ...
}
while
ループへの直訳はいつでも行うことができます。
let mut i = 2;
while i * i < n {
// code goes here
i += 1;
}
また、いつでもfor
無限の範囲でループを記述し、任意の条件でブレークアウトすることができます。
for i in 2.. {
if i * i >= n { break }
// code goes here
}
この特定の問題については、を使用することもできますがtake_while
、forループから抜け出すよりも実際に読みやすいかどうかはわかりません。「コンビネータ」のより長いチェーンの一部として、より理にかなっています。
for i in (2..).take_while(|i| i * i < n) {
// code goes here
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加