最近は少しずつ Rust の本を写経していってます
なにかしらのアウトプットを軽くでもしていければな〜と思ってちょっとメモ
if の話です
プログラムのソースコードは言語ごとの文法に則って記述されます
言語の文法は文(Statement)と式(Expression)というもので構成されています
めっちゃ簡単に言うと文は値を返さない、式は値を返すという特徴があります。
普段僕がよく使ってる Ruby も if は式で、そうゆう点では Rust は if を Ruby っぽく使えそうです
例えばある特定の値を条件によって変化させたい場合
if 文を扱う言語(C や Go など)の場合
(cond は何かしらの条件です)
int value = 0; if(cond) { value = 5; }else{ value = 10; }
一旦宣言して上書きするような感じ 一方 if 式(Rust や Ruby)の場合
let value = if cond { 5 } else { 10 };
こんな感じで1行で書けます
let value = if cond == 0 { 5 } else { 10 }
こんな感じで1行でもかけちゃうからか、Rustでは三項演算子がないみたいです
Ruby では一応三項演算子はかける
こうゆう他の言語との比較は面白いですね!