多値の扱い

Ypsilon

> (let ([hoge (values 1 3)])
  hoge)
#<values 1 3>

Mosh

mosh>(let ([hoge (values 1 3)])
  hoge)
1

この辺り

The continuations of all non-final expressions within a sequence of expressions, such as in lambda, begin, let, let*, letrec, letrec*, let-values, let*-values, case, and cond forms, usually take an arbitrary number of values. Except for these and the continuations created by call-with-values, let-values, and let*-values, continuations implicitly accepting a single value, such as the continuations of and s of procedure calls or the expressions in conditionals, take exactly one value. The effect of passing an inappropriate number of values to such a continuation is undefined.