久しぶりのScheme
最近Lispの処理系が一部で流行っているようなので、大学のプログラミング演習以来触っていなかったSchemeを少し触ってみました。
まずは、Scheme言語の標準R5RSに準拠したインタプリタGaucheをインストール。Ubuntuなので、
$ sudo apt-get install gauche
でOK。
$ gosh
でインタラクティブなインタプリタが起動するのでいくつか叩いて動作確認してみる。
算術演算
gosh> (+ 1 2) 3 gosh> (- 5 2) 3 gosh> (* 3 4) 12 gosh> (/ 6 3) 2 gosh> (/ 7 3) 7/3
最後の結果が予想外。
商や余りを求めるには、quotient・remainder(又はmodulo)という関数を使うようです。
gosh> (quotient 7 3) 2 gosh> (remainder 7 3) 1 gosh> (modulo 7 3) 1
あと、小数点をつければ小数に展開して演算してくれる。(これはどの言語でもそうか)
gosh> (/ 7.0 3.0) 2.3333333333333335
最後がなぜ5になるのかは不明。