Kimura Fuyuki
fuyuk****@hadal*****
2003年 2月 10日 (月) 12:34:12 JST
At Sun, 09 Feb 2003 17:03:46 -1000 (HST), Shiro Kawai <shiro****@lava*****> wrote: > > 今のところ、期待される数よりも多くの値が渡された場合、 > 大抵は最初の値だけが取られるようになっているんですが > (CommonLisp的)、それを当てにしたコードが書かれると > 他のSchemeとの互換性等の面でいろいろ問題もあるので、 > どうしようか、決めかねています。 個人的には Common Lisp 的動作で確定してくれることを希望。:) > R5RS的には、期待されている値の数よりも少ない値や多い値を継続に > 渡した場合の動作は未定義(unspecified)なので、 > 何が起こってもおかしくは無いわけですが。 そうですね。(define a (values 1 2)) の例でいえば、実装によって 1. a に 1 が入る 2. a に多値 1 and 2 が入る(でいいのかな) 3. エラーになる の3通りの挙動を示すことにちょっと前に気づいて、あわてて R5RS を見直し たらちゃんと未定義にされていたという… -- 木村 冬樹