| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Gaucheで作業していると、しばしば未定義値 #<undef>
に出会うことがあるでしょう。
gosh> (if #f #t) #<undef> |
この値は、値そのものに意味が無いこと、あるいは とりたててほかにふさわしい値が無いことを意味します。
未定義値と未束縛の変数を混同しないようにしてください。
#<undef>は通常の第一級の値であり、変数に束縛しておくこともできます。
未束縛の変数は文字通り、変数が束縛されていない、すなわち値を持たないことを意味します。
しかし、場合によっては、変数に特定の値が提供されていないことを
示すのに#<undef>が使われることもあります。
例えば、既定値をもたない省略可能引数に実引数が提供されなかった
場合、引数の値は#<undef>となります (手続きを作る参照)。
これは実際に#<undef>が引数として渡された場合と区別がつかない
ことに注意してください。#<undef>を受け取ってわかることは、
せいぜいその値にたいした意味がないということくらいです。
#<undef>に大きな意味を持たせすぎないようにしましょう。
以上の注意を念頭においた上で、未定義値を扱うには 次の手続きが利用できます。
objが未定義値である場合に限り#tを返します。
未定義値を返します。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Shiro Kawai on May 28, 2012 using texi2html 1.82.