Function

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年11月23日 (月) 02:09時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成: ; 構文 : (function ''symbol'' | ''lambda-expr'') ; 機能 : 組み込み関数のように引数をリンクして最適化するよう、Visual LISP に指示する。 : fu…)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(function symbol | lambda-expr)


機能
組み込み関数のように引数をリンクして最適化するよう、Visual LISP に指示する。
function 関数は、組み込み関数や defun 関数のように引数をリンクして最適化するよう Visual LISP コンパイラに指示する以外は、quote 関数と同じ。
function 関数によってシングル クォーテーションが付いたコンパイル済み lambda 式は、Visual LISP IDE にロードされたときにデバッグ情報を含む。
引数
  • symbol : 関数名のシンボル。
  • lambda-expr : 次の形式の関数。
(LAMBDA arguments {S-expression}* )
戻り値
評価した式の結果。


サンプル
Visial LISP コンパイラは、次のコード内のシングル クォーテーション付き lambda 式を最適化することはできない。
(mapcar
  '(lambda (x) (* x x))
  '(1 2 3))
式に function 関数を追加すると、コンパイラは lambda 式を最適化できるようになる。次に、例を示す。

(mapcar

(function (lambda (x) (* x x)))
'(1 2 3))