babie steps

作業療法記録

Chapter 2 データ型 - 2.1 単純データ型 - 2.1.4 シンボル

gosh> #t
#t
gosh> 42
42
gosh> #\c
#\c

「単純データ型は自己評価的」らしい。「即値」とはまた違う感じかな?

gosh> (quote xyz)
xyz

「シンボルは識別子をクォートしたもの」って感じかな?

gosh> 'xyz
xyz

略記法。クォートしてる。

gosh> (symbol? 'xyz)
#t
gosh> (symbol? 42)
#f


Scheme のシンボルは通常、大文字と小文字を区別しません。」へぇ。

gosh> (eqv? 'Calorie 'calorie)
#f

あれ? #t になるはずなのに? どうも Gauche は他言語との可搬性を重視してデフォルトでは大文字小文字の区別をつけるらしい。RSR5に沿わないらしい。See: 「Gauche ユーザリファレンス: 2.4 大文字小文字の区別


フムン。「goshインタプリタの起動時に-fcase-foldコマンドライン引数を与えると、Gaucheは大文字小文字を区別しないモードで動作します」

gosh> (exit)
$ gosh -fcase-fold
gosh> (eqv? 'Calorie 'calorie)
#t

おk。

今のところ、インタプリタの中から両方のモードを切り替えることはできません。

難しいのかな?

gosh> (eqv? 'calorie 'calorie)
#t

普通の。


ここまで。