首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >新手应该注意的Ruby Gotchas是什么?

新手应该注意的Ruby Gotchas是什么?
EN

Stack Overflow用户
提问于 2008-12-16 20:46:19
回答 16查看 15.2K关注 0票数 109

我最近学习了Ruby编程语言,总的来说,它是一种很好的语言。但令我惊讶的是,它并不像我预期的那样简单。更确切地说,在我看来,“最小意外原则”似乎并不是很受尊重(当然,这是相当主观的)。例如:

代码语言:javascript
复制
x = true and false
puts x  # displays true!

和著名的:

代码语言:javascript
复制
puts "zero is true!" if 0  # zero is true!

你要警告Ruby新手的其他"Gotchas“是什么?

EN

回答 16

Stack Overflow用户

发布于 2008-12-17 08:27:15

在不带参数的情况下调用super时,实际上会使用与覆盖方法相同的参数来调用被覆盖的方法。

代码语言:javascript
复制
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()

票数 16
EN

Stack Overflow用户

发布于 2010-06-11 22:11:26

默认情况下,块和方法返回最后一行的值。出于调试目的而将puts语句添加到末尾可能会产生令人不快的副作用

票数 14
EN

Stack Overflow用户

发布于 2008-12-16 21:06:37

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/372652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档