Friday, October 24, 2008

(3)方法的括号

在Ruby中方法的括号是可选的,比如下面的两行代码是一样的效果:
puts "Hello World"
puts("Hello World")
Ruby中没有属性的概念,你要访问一个对象必须通过方法,比如下面的代码中length实际上是一个方法而不是属性:
greeting = "Hello"
size = greeting.length
不仅是方法调用,方法声明是也可以不加括号,比如:
def hello lname,fname
  puts lname
  puts fname
end
有时候加上括号可以使得代码更清楚,比如:
puts(sum 2,2)   # 这段代码的含义到底是 puts(sum(2,2)) 还是 puts(sum(2), 2)?
这种情况下,没有括号容易让代码引起混淆。需要注意的一点是,方法后的括号应该紧跟方法名,否则他们的含义是不一样的,比如:
square(2+2)*2    # square(4)*2 = 16*2 = 32
square (2+2)*2   # square(4*2) = square(8) = 64

No comments: