関数型言語を触ってみる(その2)
- 3章:プログラムを構成する要素
- データ一つひとつをタームと呼ぶ(term、項だな)
- タームの種類としてアトム:名前つき定数(?)、参照(??)、タプル(!)
- 関数をファーストクラスオブジェクトとして扱える(なんか凄い)
- 整数の精度は利用可能なメモリ量のみに制限される(自分で指定できないの?斬新)
- 基数#数値で、整数を基数表記する
- 整数除算と浮動小数点除算がある(divと/ ね)
- アトムは先頭が小文字アルファベットではじまり、変数は先頭が大文字アルファベット(なんのこっちゃ)
- シングルクオートで括ってあるものはすべてアトム
- アトムとは、数値でない値を表現するために用いる名前
- 比較演算子を使うと、整数と浮動小数点数が比較された場合、整数が自動的に浮動小数点数に変換される
- orelse、andalso(これ、何?)
- Yamada={yamada, 175, 65, male}. 変数Yamadaをタプルに束縛する、と言う(えっ!)
- タプルの要素にアクセスするにはパターンマッチングする(要素が多くなったら不便だろ、それじゃ)
- 文字列はダブルクオートで表す”Mojiretu"
- 文字列の実体は整数のリスト[77,111,106,105,114,101,116,115,117]は"Mojiretsu"と同じ(!!)
- 異なる種類のタームを比較演算子で比較することも可能
これまで使ってきた言語と違いすぎる。かなり楽しい。
次は3章の"変数”から。