From: Child Date: 2003-02-16T22:02:48+09:00 Subject: Ruby 1.8 preview1 questions Hello I have just installed Ruby 1.8.0 and find some changes to the syntax, which I find confusing. These are: 1. irb(main):018:0> string = "asdfasdf" => "asdfasdf" irb(main):019:0> string.method("to_i").call => 0 irb(main):020:0> string.method ("to_i").call NoMethodError: undefined method `call' for "to_i":String from (irb):20 from :0 So basically if I type a space before opening parenthese I get an error. I don't think spacing should influence semantics (at least in this place) 2. irb(main):027:0> class Klass irb(main):028:1> def append () irb(main):029:2> return "jfdasdfj" irb(main):030:2> end irb(main):031:1> def do_something () irb(main):032:2> string = "asdfasdf" irb(main):033:2> string << append () irb(main):034:2> end irb(main):035:1> end SyntaxError: compile error (irb):33: parse error string << append () ^ from (irb):35 from :0 irb(main):036:0> class Klass irb(main):037:1> def append () irb(main):038:2> return "jfdasdfj" irb(main):039:2> end irb(main):040:1> def do_something () irb(main):041:2> string = "asdfasdf" irb(main):042:2> string << append irb(main):043:2> end irb(main):044:1> end => nil So if I append () to the method call I got an error. I usually append () when calling method with no parameters to distinguish it from local variables. My question is: what was the reason to make such changes? -- Marek Janukowicz