「Rust」の版間の差分
削除された内容 追加された内容
→if は式: 3項演算子の構文を教える前に、まず普通の初等的な構文を教えろや。 |
→if 文: →if 式: Rust では if に限らず、コードブロックは式の一種で値を返します<ref>コードブロックが値を持つプログラミング言語としては、BCPLやRubyがあります。</ref>。その場合、コードブロックの最後の式がコードブロックの値となりセミコロン<code> ; </code>は不要で、もし、<code> ; </code>をつけると<code> ; </code>の次の式(=空文)の値<code> () </code>がコードブロックの値になります。 タグ: 2017年版ソースエディター |
||
405 行
: それはともかく、Rust の '''if''' は条件式がカッコ ( ) で括らなくてもいい以外は、C言語系と同じですが、、、
==== if
条件分岐は、
;[https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=c2f542b8f7ff8437d81c3e653b88cff2 if-as-stmt.rs]:<syntaxhighlight lang="rust" line>
fn main() {
let number = 3;
let mut msg = "偽"
}
}
</syntaxhighlight>
429 ⟶ 424行目:
</syntaxhighlight>
==== if 式 ====
ifは文のほか、値を返す「式」としての構文も持ちます。
;[https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=daccd9877dcbe53c9e4d1dbe7eeea347 if-as-expr.rs]:<syntaxhighlight lang=rust highlight="4,5,7,8" line>▼
▲;[https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=daccd9877dcbe53c9e4d1dbe7eeea347 if-as-expr.rs]:<syntaxhighlight lang=rust line>
fn main() {
let number = 3;
448 ⟶ 443行目:
</syntaxhighlight>
:変数宣言の初期化項にif式を使っています。
::Rustの '''if式''' は、[[C言語]]の三項演算子<syntaxhighlight lang=c inline>式 ? 値1 : 値2</syntaxhighlight>や、[[Python]]のif式<syntaxhighlight lang=c inline>値1 if 式 else 値2</syntaxhighlight>のように値を持ちます。
:気をつけたいのは、
:また、<syntaxhighlight lang=rust inline>let msg = </syntaxhighlight>の文末の<code>};</code> のセミコロンも忘れがちです。
Rust では if に限らず、コードブロックは式の一種で値を返します<ref>コードブロックが値を持つプログラミング言語としては、BCPLや[[Ruby]]があります。</ref>。その場合、コードブロックの最後の式がコードブロックの値となりセミコロン<code> ; </code>は不要で、もし、<code> ; </code>をつけると<code> ; </code>の次の式(=空文)の値<code> () </code>がコードブロックの値になります。
==== Some() ====
|