From: mathew Date: 2005-06-30T05:15:42+09:00 Subject: Re: yield does not take a block Eric Mahurin wrote: > You could say the same thing about passing too many arguments > to a method. Why does Ruby check this case now? I think a another similar question is why ruby doesn't allow you to declare the variables you're actually planning to use in a given context, allowing the system to give a helpful error if you accidentally mistype one of them, instead of leaving you to track down why variables don't have the value you expect. Actually, it's not really a question, as I know the answer: the language developers have a religious objection to declarations, and think nobody should be allowed to use them, even if they want to. (See ) Why is it good to have to declare the arguments you expect, but bad to have to declare the variables or code blocks you expect? I don't know... > I have no idea what this has to do with static typing. Probably nothing, though you could wax philosophical over whether a block of code is a 'type' or not. Variable declaration has nothing to do with static typing either; however, some people seem to see everything as a clandestine attempt to introduce static typing... It's some kind of Post Java Trauma Disorder I think. mathew