Next: Variable Number of Arguments, Previous: Data types, Up: Arguments [Contents][Index]
評価時に値をリターンするシンボルを引数にすることができます。たとえばシンボルfill-column
は、それ自身が評価されると数値をリターンします。関数の値とは別に、この数値も追加で使うことができます。
カーソルを以下の式の後に移動してC-x C-eをタイプしてください:
(+ 2 fill-column)
fill-column
を単独で評価すれば2以上の値が得られるはずです。わたしの場合は74だったのでfill-column
の値は72です。
ご覧の通り、評価した際には値をリターンするようなシンボルも引数にすることができます。さらに評価すると値をリターンするようなリストも引数にすることができます。たとえば以下は文字列"The "
と" red foxes."
、それにリスト(number-to-string (+ 2
fill-column))
を関数concat
の引数にした例です。
(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
としても知られています。