「Function」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
7行目: 7行目:
: function 関数は、組み込み関数や defun 関数のように引数をリンクして最適化するよう Visual LISP コンパイラに指示する以外は、quote 関数と同じ。
: function 関数は、組み込み関数や defun 関数のように引数をリンクして最適化するよう Visual LISP コンパイラに指示する以外は、quote 関数と同じ。
: function 関数によってシングル クォーテーションが付いたコンパイル済み lambda 式は、Visual LISP IDE にロードされたときにデバッグ情報を含む。
: function 関数によってシングル クォーテーションが付いたコンパイル済み lambda 式は、Visual LISP IDE にロードされたときにデバッグ情報を含む。


; 引数
; 引数
12行目: 13行目:
:* lambda-expr : 次の形式の関数。
:* lambda-expr : 次の形式の関数。
::: (LAMBDA arguments {S-expression}* )
::: (LAMBDA arguments {S-expression}* )


; 戻り値
; 戻り値

2020年8月8日 (土) 22:30時点における最新版

構文
(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))