削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
399 行
None(core::option::Option<i32>)
</syntaxhighlight>
 
==== if let ====
;[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=6b252d13f67df88f533e55dab5d3397c if-let.rs]:<syntaxhighlight lang=rust>
fn main() {
let mut v = vec![1, 3, 5, 7, 11];
loop {
if let Some(x) = v.pop() {
println!("x = {}", x)
} else {
break;
}
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
x = 11
x = 7
x = 5
x = 3
x = 1
</syntaxhighlight>
 
==== while let again ====
;[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=6b252d13f67df88f533e55dab5d3397c while-let-again.rs]:<syntaxhighlight lang=rust>
fn main() {
let mut v = vec![1, 3, 5, 7, 11];
while let Some(x) = v.pop() {
println!("x = {}", x)
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
x = 11
x = 7
x = 5
x = 3
x = 1
</syntaxhighlight>
 
==== for ====
Rust の for は、他のプログラミング言語の foreach に近いものです。
===== Range =====
;[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=29fcf2063754f789637b8b9dff8364a1 for-in-range.rs]:<syntaxhighlight lang=rust>
fn main() {
for i in 1..5 {
println!("i = {}", i);
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
i = 1
i = 2
i = 3
i = 4
</syntaxhighlight>
:std::ops::Range<{integer}>を対象にしたイテレーション。
 
===== Range =====
;[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=6eb58b34cb47dec6549031bd083c2b00 for-in-range2.rs]:<syntaxhighlight lang=rust>
fn main() {
for i in 1..=5 {
println!("i = {}", i);
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
i = 1
i = 2
i = 3
i = 4
i = 5
</syntaxhighlight>
: <code>=5</code>だけが違います。範囲の最後の数字が異なります。
 
===== Iter =====
;[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=d2f5f668529051021e3b922d695fb47f iter.rs]:<syntaxhighlight lang=rust>
fn main() {
let v = vec![1, 3, 5, 7, 11];
for x in v {
println!("x = {}", x)
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
x = 1
x = 3
x = 5
x = 7
x = 11
</syntaxhighlight>
:std::ops::Range<{integer}>を対象にしたイテレーション。
 
===== Iter Rev =====
;[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=83d50bb12645221a766052413a9d73b8 iter-rev.rs]:<syntaxhighlight lang=rust>
fn main() {
let v = vec![1, 3, 5, 7, 11];
for x in v.iter().rev() {
println!("x = {}", x)
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
x = 11
x = 7
x = 5
x = 3
x = 1
</syntaxhighlight>
:std::ops::Range<{integer}>を対象にしたイテレーション。
 
== 脚註 ==