「プログラミングの基礎」読みほぐし①
プログラミングの基礎 (サイエンス社)
プログラミングの基礎 (Computer Science Library)
- 作者: 浅井健一
- 出版社/メーカー: サイエンス社
- 発売日: 2007/03
- メディア: 単行本
- 購入: 17人 クリック: 409回
- この商品を含むブログ (126件) を見る
この本では Ocaml というとーってもマイナーなプログラミング言語を使用しています。
第一章 はじめに
コマンド
スタート。対話型インタプリタ?が立ち上がります。
$ ocaml
終了。ctrl + c とか q とか esc じゃなくてこれです。
#quit ;;
第2章 基本的なデータ
整数
他のプログラミング言語とほぼ同じです。
が、余りを出す場合は '%' ではなく 'mod' を使用します。こんなふうにね。
8 mod 3 => 2
実数
Ocaml では少数点を使用して実数をあらわします。
また、実数の計算では、整数用の '+' や '-' などは使用できません。
そのかわり実数専用の命令が用意されており、加算は '+.'、減算は '-.' といったように、後ろに実数の象徴であるピリオドをつけた命令を使用します。
少数点以下が0の場合は、その0を書く必要はありませんが、実数であることを明示するために小数点を書く必要があります。
べき乗
べき乗は '**' であらわす。実数計算のみで使用できる。
無限大
実数の中で特殊な値として無限大があります。
Ocaml では infinity で無限大をあらわします。
マイナス無限大は neg_infinity となります。
文字列
ダブルコーテーションで囲んであげます。 "ほげ"
シングルコーテーションだと怒られます。なぜだろう。文字コードが関係しているのか。
3: deprecated: ISO-Latin1 characters in identifiers
'^' を使えば文字列をつなげることができます。
こんなふうにね。
"関数" ^ "型" ^ "言語" => 関数型言語
真偽値
他のプログラミング言語と変わらないでしょう。
真偽値の型は bool というそうですね。
また、真偽値には論理演算が定義されています。
Ocaml には3つの論理演算があります。
- && 「かつ」
- || 「または」
- not 「否定」
四則演算には 、「-」よりも「*」や「/」が先に計算されるといった優先順位がありますが、じつは論理演算にも優先順位があります。
not 「否定」 > && 「かつ」> || 「または」の順に優先順位が高くなっています。
たとえば、
not (false || ((not false) && (not falsse))) ;;
は、
bool = false
と、なります。
とはいえ、真偽値に直接 true や false と書くことはまれで、通常は様々な条件が成り立つかどうかを調べるために使います。
比較演算子
'<' とか '>=' とか。
すべてのデータに対して使うことができます。
とはいえ、違う型のデータを比較しようとすると怒られちゃいます。
ちなみに、比較演算子を使って true と false を調べると、
true の方が大きいことになります。
キリが良いのでこのくらいで切り上げます。
それでは。