% Special-Operator MULTIPLE-VALUE-CALL
Special Operator MULTIPLE-VALUE-CALL
multiple-value-call
function-form form* => result*
function-form - フォーム。評価されfunctionが得られます。
function - 関数指定子。function-formの評価によって得られます。
form - フォーム
result - functionの返却値
functionを、多値のグループを収集したオブジェクトをまとめた リストと共に実行します。
multiple-value-call
は最初にfunction-formを評価して
functionを取得し、そのあと各formを実行します。
各formの全ての多値を一緒にまとめて(それぞれちょうどひとつずつではなく)、
functionの引数として与えます。
(multiple-value-call #'list 1 '/ (values 2 3) '/ (values) '/ (floor 2.5))
=> (1 / 2 3 / / 2 0.5)
(+ (floor 5 3) (floor 19 4)) == (+ 1 4)
=> 5
(multiple-value-call #'+ (floor 5 3) (floor 19 4)) == (+ 1 2 4 3)
=> 10
なし。
なし。
multiple-value-list
,
multiple-value-bind
なし。