Go to the first, previous, next, last section, table of contents.

関数コール

フォームがリストで、そのリストの最初の要素が (直接であれ間接であれ)関数であ る場合、このフォームは関数コールと呼ばれます。関数の定義に関してはセクショ ン 10.1 [ラムダ式]、ページ 84 を参照して下さい。

関数コールを評価すると、最初にその(訳注:関数コールの)リストの残りの要素が順に 評価され、それが formal アーギュメントにバインドされ、関数本体(訳注:function body)が評価されます。

アーギュメントは(常に)順に評価されますが、この事実にたよって副作用(訳注:side effects)を作るのはプログラミングスタイルとしてうまい方法ではありません。以下に 示す 2つの例は (全く)同じ結果を返しますが 2 番目の方がずっとすぐれています。

      (list (setq x 1) (nth x '(cat rat mat)))
      => (1 rat)
      (progn (setq x 1)
             (list x (nth x '(car rat mat))))
      => (1 rat)

Go to the first, previous, next, last section, table of contents.