For Gauche 0.9.5


Next: , Previous: , Up: 組み込みライブラリ   [Contents][Index]

6.5 未定義値

Gaucheで作業していると、しばしば未定義値 #<undef> に出会うことがあるでしょう。

gosh> (if #f #t)
#<undef>

この値は、値そのものに意味が無いこと、あるいは とりたててほかにふさわしい値が無いことを意味します。

未定義値と未束縛の変数を混同しないようにしてください。 #<undef>は通常の第一級の値であり、変数に束縛しておくこともできます。 未束縛の変数は文字通り、変数が束縛されていない、すなわち値を持たないことを意味します。

しかし、場合によっては、変数に特定の値が提供されていないことを 示すのに#<undef>が使われることもあります。 例えば、既定値をもたない省略可能引数に実引数が提供されなかった 場合、引数の値は#<undef>となります (手続きを作る参照)。 これは実際に#<undef>が引数として渡された場合と区別がつかない ことに注意してください。#<undef>を受け取ってわかることは、 せいぜいその値にたいした意味がないということくらいです。 #<undef>に大きな意味を持たせすぎないようにしましょう。

以上の注意を念頭においた上で、未定義値を扱うには 次の手続きが利用できます。

Function: undefined? obj

objが未定義値である場合に限り#tを返します。

Function: undefined

未定義値を返します。


Next: , Previous: , Up: 組み込みライブラリ   [Contents][Index]