From: Peter Hickman Date: 2011-01-17T20:02:58+09:00 Subject: Re: Obscure syntax error The format x ...followed by something else... means that x is a method and anything that follows it is a parameter. Since you don't have a method called x you get "undefined method `x'" just like it says in the error message. When x is a reference to a variable by itself it just returns its value, but when you put a parameter after it it looks for a method called x, because you are passing it a parameter "y" and the only things you pass parameters to are methods so you get the "undefined method `x'" message again. In the final case again you have no method called x and therefore a parameter, in this case the :y, is unexpected. In that you don't pass parameters to a variable only to methods. It's good that you checked it out in all the various implementations of Ruby but the error message was quite clear, "undefined method `x'" means that Ruby thinks x should be a method but you don't have a method x defined.