削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
337 行
result = 100
</syntaxhighlight>
:continue は、ループの先頭に戻ります。}
 
==== while ====
Rest には、条件が真な間繰り返すためのキーワード '''while''' が用意されています。
;[https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=47dc5b7c9d866b3f5913a77b9a55988e while.rs]:<syntaxhighlight lang=rust>
fn main() {
let mut i = 0;
while i < 5 {
println!("i = {}", i);
i += 1
};
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
i = 0
i = 1
i = 2
i = 3
i = 4
</syntaxhighlight>
 
==== while let ====
;[https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0764d8389e3afc0854b4223b8db5a32b while-let.rs]:<syntaxhighlight lang=rust>
fn main() {
let mut n = Some(0);
while let Some(i) = n {
n = if i > 5 {
None
} else {
println!("i = {}", i);
Some(i + 1)
}
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
</syntaxhighlight>
 
==== Some() ====
https://doc.rust-lang.org/stable/std/option/enum.Option.html
;[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=afb9193c50a316090b6e3119f994f8cf some.rs]:<syntaxhighlight lang=rust>
fn main() {
let mut x = Some(0);
println!("{:?}({})", x, type_of(x));
x = None;
println!("{:?}({})", x, type_of(x));
}
 
fn type_of<T>(_: T) -> &'static str {
std::any::type_name::<T>()
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
Some(0)(core::option::Option<i32>)
None(core::option::Option<i32>)
</syntaxhighlight>
 
== 脚註 ==