Ruby Class create new object 疑问

LinuxGit · 2012年04月30日 · 最后由 jjym 回复于 2012年05月01日 · 3086 次阅读

7.1.4 Defining a to_s Method 一节中 代码是这样的:

 1 class Point
 2   def initialize(x, y)
 3     @x, @y = x, y
 4   end
 5 
 6   def to_s
 7     "(#@x, #@y)"
 8   end
 9 end
10 
11
12 p = new Point(1, 2)
13 puts p


第十二行的语法 ruby 1.9.3 不支持了还是...?我用 p = Point.new(1, 2) 测试正常,用书的语法报 ruby.rb:12:in <main>': undefined methodPoint' for main:Object (NoMethodError)

作者手滑

#1 楼 @doitian 啊。我对照了中英文版都是这样的。

作者显然是写多了 javascript

#5 楼 @ekim_sgra 双飞燕的作者 David Flanagan 也是 JavaScript - The Definitive Guide 的作者

#6 楼 @FenRagwort 哈哈,看了下,果然如此。

这个笔误还真没注意到,估计是看的时候“眼花”成 java 了。话说我觉得 ruby 最漂亮的地方之一就是没有了 new 这个关键字

匿名 #9 2012年05月01日

#8 楼 @fsword ruby 用方法来代替"语法"这点真是很喜欢啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号