[解決済み] Rustで範囲指定はどうやるの?
2022-03-03 14:38:10
質問
ドキュメントには方法が書かれておらず、チュートリアルではforループが完全に無視されています。
どのように解決するのですか?
1.0時点では。
について
ループは
Iterator
特性
.
本書では、このテクニックを 第3.5章 と 第13.2章 .
もしあなたが、どのように については ループの動作については モジュール std::iter .
例
fn main() {
let strs = ["red", "green", "blue"];
for sptr in strs.iter() {
println!("{}", sptr);
}
}
( 遊び場 )
単に数値の範囲を反復処理したいだけなら、C言語の
に対して
ループで、数値範囲を作成することができます。
a..b
の構文があります。
for i in 0..3 {
println!("{}", i);
}
配列のインデックスと要素の両方が必要な場合、慣用的な方法として、配列のインデックスを取得するために
Iterator::enumerate
というメソッドがあります。
fn main() {
let strs = ["red", "green", "blue"];
for (i, s) in strs.iter().enumerate() {
println!("String #{} is {}", i, s);
}
}
注意事項
-
ループ項目は、イテレート要素への参照を借用したものである。 この場合
strs
は、タイプ&'static str
- は、静的文字列へのポインタを借用しています。 つまりsptr
は、型&&'static str
というように参照解除します。*sptr
. 私が好む別の形式は、次のとおりです。for &s in strs.iter() { println!("{}", s); }
関連
-
[解決済み] enumを列挙するには
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] ループ内のJavaScriptクロージャ - シンプルな実用例
-
[解決済み] B "の印刷が "#"の印刷より劇的に遅いのはなぜですか?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] Javaでネストされたループから抜け出すには?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] 10進数のrange()ステップ値を使用するには?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angular 2 formArraysでname属性が指定されていないコントロールが見つからない。
-
[解決済み] フローチャートでネストしたforループを表示する
-
[解決済み] MIPSで階乗を行うコードはどのように書くのですか?
-
[解決済み] GAMSでマクロ/ループを作成する
-
[解決済み] AutoHotKeyのホットキーでSetTimerをオフに切り替えるには?
-
[解決済み] Rustで範囲指定はどうやるの?
-
[解決済み] Angular 2 formArraysに指定されていないname属性を持つコントロールが見つからない
-
[解決済み] マップの全キーに対する反復処理
-
[解決済み】整数の範囲内で反復処理する方法はありますか?
-
[解決済み] Kotlin の `forEach` における `break` と `continue` について