如何使用 define 将 Racket 的多个 return 值绑定到全局变量名称?

How can I bind Racket's multiple return values to global variable names using define?

给定一个 return 有一个值的简单函数,我可以使用 define 将它的 return 值绑定到一个名称

(define (foo) 1)
(define bar (foo))

然而,当函数 return 的多个值使用 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,这在此处并不适用。

你要define-values,定义相当于let-values.

(define (baz) (values 2 3))
(define-values (foo bar) (baz))