削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
→‎if は式: 3項演算子の構文を教える前に、まず普通の初等的な構文を教えろや。
406 行
 
==== if は式 ====
条件分岐は、記法などややC言語と違うが、基本的な仕組み・概念はC言語などと同じである。
 
<syntaxhighlight lang="rust" line>
fn main() {
let number = 3;
 
let mut msg ="" ; // 出力文字用の変数.
print!("{}", msg) ; // 未使用変数の警告を消すため
 
if number < 5 {
msg = "真" ;
println!("条件は{}でした", msg);
} else {
msg = "偽" ;
println!("条件は{}でした", msg);
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
条件は真でした
</syntaxhighlight>
 
 
ifは3項演算子を使って下記のようにも書ける。
 
;[https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=daccd9877dcbe53c9e4d1dbe7eeea347 if-as-expr.rs]:<syntaxhighlight lang=rust line>
fn main() {
423 ⟶ 449行目:
:変数宣言の初期化項にif式を使っています。
::Rustの '''if''' は、C言語の三項演算子のように値を持ちます。
:気をつけたいのは、三項演算子を用いる場合は <code>"真"</code> と <code>"偽"</code> は、<code>"真";</code> と <code>"偽";</code> ではない点です。
:また、<syntaxhighlight lang=rust inline>let msg = </syntaxhighlight>の文末の<code>};</code> のセミコロンも忘れがちです。