パソコンには霊圧も気もチャクラも無い
var hoge = 42; { var x = 0; if ( hoge >= 42 ) { x = 42; } else { x = hoge; } Console.WriteLine( x ); }
hoge
が 42
以上なら x
に 42
を設定し、それ以外なら hoge
の値を x
に設定するというよくあるコードです。
私としてはこのためだけに if
を大仰に書かなければいけないというのがなんとも歯がゆく思えます。
分かる人であれば:
var x = hoge >= 42 ? 42 : hoge;
という風に書けばいいじゃんと言うでしょう。
とても良い方法ですが、条件が多くなってしまった時はどうしましょう?
単に三項演算子キモいというだけなんですが、こういう風に書ければいいと思っています:
var hoge = 42; { var x = if ( hoge >= 42 ) { 42 } else { hoge }; Console.WriteLine( x ); }
さて、Lisp ではどういう風に書くでしょうか?
私ならこのように書きます:
(define hoge 42) (let ((x (if (>= hoge 42) 42 hoge))) (display x) (newline))