我最近学习了Ruby编程语言,总的来说,它是一种很好的语言。但令我惊讶的是,它并不像我预期的那样简单。更确切地说,在我看来,“最小意外原则”似乎并不是很受尊重(当然,这是相当主观的)。例如:
x = true and false
puts x # displays true!
和著名的:
puts "zero is true!" if 0 # zero is true!
你要警告Ruby新手的其他"Gotchas“是什么?
发布于 2008-12-17 08:27:15
在不带参数的情况下调用super
时,实际上会使用与覆盖方法相同的参数来调用被覆盖的方法。
class A
def hello(name="Dan")
puts "hello #{name}"
end
end
class B < A
def hello(name)
super
end
end
B.new.hello("Bob") #=> "hello Bob"
要在不带参数的情况下实际调用super
,需要声明super()
。
发布于 2010-06-11 22:11:26
默认情况下,块和方法返回最后一行的值。出于调试目的而将puts
语句添加到末尾可能会产生令人不快的副作用
发布于 2008-12-16 21:06:37
https://stackoverflow.com/questions/372652
复制相似问题