From: Eli Green Date: 2001-11-03T05:32:02+09:00 Subject: [ruby-talk:24200] Re: "yield called out of block" Because yield can be used for all sorts of useful things, and returning 10,000 values from a function requires having 10,000 * sizeof(item) bytes allocated, whereas iterating through them with yield would only require one instance of said item in memory during each iteration. OTOH, I have no idea how values works in CL, so I could be putting my foot in my mouth. Besides, you CAN return multiple values in ruby, really. There's a built-in array type. from Alexander Schofield on 2001-11-03 at 03:27:53: > This doesn't really have much to do with the original post, but why not > just completely eliminate the problem and take a cue from Lisp by just > allowing functions to return multiple values? yield could simply have > the same effect as values does in CL. -- Eli Green