From: ts Date: 2000-08-08T10:35:37+02:00 Subject: [ruby-talk:04339] Re: TABWTDI and Hash.new([]) >>>>> "H" == Hugh Sasse Staff Elec Eng writes: H> So when you wrote that function before, you had already expanded it in H> your head beforehand, so the short form never made it into the file. H> Is that what you mean here? yes :-) H> I have not delved into the source yet, so I don't see how this piece fits H> into the discussion here :-) When you write : def x(a, b = [], *rest, &block) end ruby will create 2 nodes : * a node NODE_ARGS for (a, b = [], *rest) * a node NODE_BLOCK_ARG for &block the NODE_BLOCK_ARG make something equivalent to : block = nil if iterator? block = Proc.new end Guy Decoux