Lisp-returning-values-functions

提供:Dev Guides
移動先:案内検索

LISP-値を返す関数

デフォルトでは、LISPの関数は、戻り値として評価された最後の式の値を返します。 次の例でこれを示します。

例1

main.lispという名前の新しいソースコードファイルを作成し、次のコードを入力します。

(defun add-all(a b c d)
   (+ a b c d)
)
(setq sum (add-all 10 20 30 40))
(write sum)
(terpri)
(write (add-all 23.4 56.7 34.9 10.0))

あなたがコードを実行すると、それは次の結果を返します-

100
125.0

ただし、 return-from 特殊演算子を使用して、関数から値をすぐに返すことができます。

例2

main.lispという名前の新しいソースコードファイルを作成し、その中に次のコードを入力します-

(defun myfunc (num)
   (return-from myfunc 10)
   num
)
(write (myfunc 20))

あなたがコードを実行すると、それは次の結果を返します-

10

コードを少し変更します-

(defun myfunc (num)
   (return-from myfunc 10)
   write num
)
(write (myfunc 20))

それはまだ返します-

10