引数は、評価時に値を返すシンボルである場合があります。例えば、シンボル fill-column
を単独で評価すると、数値が返されます。この数値は加算に使用できます。
次の式の後にカーソルを置き、C-x C-e と入力します:
(+ 2 fill-column)
その値は、fill-column だけを評価して得られる値より 2
大きい数値になります。私の場合、fill-column の値が 72 なので、これは 74
になります。
先ほど見たように、引数は評価時に値を返すシンボルである場合があります。また、引数は評価時に値を返すリストである場合もあります。例えば、次の式では、関数
concat の引数は文字列 "The " と " red foxes."、およびリスト (number-to-string (+ 2 fill-column)) です。
(concat "The " (number-to-string (+ 2 fill-column)) " red foxes.")
この式を評価すると――私のEmacsと同様に fill-column が 72
と評価される場合――エコーエリアに "The 74 red foxes."
が表示されます。(なお、最終的な文字列に含めるには、単語 ‘The’
の後と単語 ‘red’
の前にスペースを入れる必要がある点に注意してください。関数 number-to-string
は、加算関数が返す整数を文字列に変換します。number-to-string は int-to-string としても知られています。)