Clemens Hintze <clemens.hintze / alcatel.de> writes: > Your explaination is ok, but, IMHO, I feel we could describe it more > explicite. > > We should explain the user, that the compiler has to decide on compile > time, whether a mentioned symbol means variable access or method call > (performance and architectural reasons; variable access is *very* > difficult from method invocation). Yes, I like this. > 3.3 How is a block used in an iterator? > > Nice, but could you explicite explain, that blocks are not consumed by > 'Proc.new', 'lambda' and 'proc'? So the last example would become more > clear. If not, I could ask myself with what block does 'proc' operate > with? Because the block was already used by 'Proc.new'! I _could_, but why is this different to saying that they're not consumed by yield: def iter yield 1 yield 2 end is really no different to def iter proc.call proc.call end Or am I missing something here? > 4.1 What does :var mean? > > Again, I cannot see the reason why it is important for the user to > know, that the ':var' form will create local symbols. OK, lets agree to differ on this. It seems to me that some information is better than none. When I was leaning Ruby, I remember thinking that this was interesting. > 4.2 How can I access the value of a symbol? > > If you ask this question, would it make sense also to ask: How can I > access the method behind a symbol? It's there now! New version's on the web. Thanks again. Dave -- Thomas Consulting. Innovative and successful developments with Unix, Java, C, and C++. Now in bookstores: The Pragmatic Programmer. www.pragmaticprogrammer.com/ppbook/