调用put而不是参数不好的做法?

时间:2011-02-16 14:20:32

标签: ruby rubymine

以下是RubyMine 3.1中的一个小屏幕截图。我刚开始学习Ruby。这里的代码来自atomicobject.com上的Presenter-First MVP C#代码生成器。

我正在使用这个项目和一本书来学习Ruby。 puts的{​​{3}}表示它至少需要一个参数。然而,这个代码似乎“有点合法”,原因有两个:

  1. 我的代码似乎工作正常 通过调试器逐步完成。
  2. documentation,甚至是Searching online,表明puts w / o参数会创建换行符。
  3. 然而,这样做是不好的做法(因此RubyMine警告)?我正在查看的代码来自2006年。如果重要的话,我正在使用Ruby 1.9.2运行它。

    enter image description here

2 个答案:

答案 0 :(得分:3)

这很好,因为puts为第一个参数提供了“默认”值:

def puts(obj='', *arg)

对于RubyMine,它不会显示任何错误。您是否可以在代码中的其他位置定义方法puts?您可以 cmd +点击它,以获得定义。

无论如何,如果您能够在一个干净的新项目中重现问题,您可以自由地向JetBrains提交错误报告。

答案 1 :(得分:1)

不,在源代码和输出中创建物理换行符会很有帮助,就像你已经看到的那样,puts完全能够接受零参数。

就个人而言,如果我创建一个多行输出,我更喜欢使用here-doc syntax