1 つの値を返す単純な関数が与えられた場合、define
その戻り値を名前にバインドするために使用できます。
(define (foo) 1)
(define bar (foo))
ただし、関数が を使用して複数の値を返す場合、これは可能ではないようですvalues
。
(define (baz) (values 2 3))
(define quux (baz))
; define-values: result arity mismatch;
; expected number of values not received
; expected: 1
; received: 2
; from:
; in: definition of quux
; values...:
; 2
; 3
私はドキュメントに目を通しましたが、関連する唯一のものvalues
はlet-values
であり、実際にはここには当てはまりません。