OCamlをつつく11-条件判断。関数でも判定は必要!2008-07-29 Tue 19:40
今度はif文をつつくよ。関数型言語は命令型言語と思考が違いすぎると思う人も多いと思うけど、条件判定が必要な事実は変わらないからif文をつっつくピヨ。
このプログラムを実行してみて。if文の動きがわかりやすいと思うピヨ。if 条件で結果がtrue(真)ならば thenブロックのプログラムが実行されて、 結果がfalse(偽)ならば elseブロックのプログラムが実行されるんだ。 これでif文はほとんどマスターしたのと同じだけど、面白くないから意地悪プログラムを書いてみたピヨ。こんなこと思いつくなんて、ドリィちゃんと似てきたのかな?
このようにelseは省略できるんだ。 だけど、上記サンプルの2つ目のif文は動作がおかしくなるよ。 何故かと言うと、elseブロックを実行したいのにそれがないからなんだ。 つまり、絶対にtrueと分かっている時のみelseを省略できるんだ。でもそんな状況は滅多にないからelseブロックは必ず書こう。 ところで、今までのサンプルプログラムはtrueブロックもelseブロックも1行だったけど、複数行の場合はどうすると思う?答えはこれだよ。
この手品のネタが分かったかな?そう、beginと endキーワードで 実行文を挟むんだ。 あっ、それと、print_stringの最後の;に気をつけてね。 この場合はいるピヨ。 このようにif文は命令言語ぽい構文だからすぐに慣れると思うピヨ。 これでif文はおしまい。 おつかれー。 |
この記事のコメントelseのないif ... then ...は単にif ... then ... else ()の略なので、
# let x = 1;; val x : int = 1 # if x > 10 then print_string "true";; - : unit = () ってunit値が帰ってくるだけで、別に何もおかしくならないですよ。^_^
2009-02-02 Mon 05:30 | URL | OCamlファン #-[ 内容変更]
|
コメントの投稿 |
||
|
|
||
| 管理者だけに閲覧 | ||
|
|
||
この記事のトラックバック |
|
| 無差別に技術をついばむ鳥 |
|