3

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

我正在使用这个项目和一本书来学习 Ruby。的文档显示puts它至少需要一个参数。然而,这段代码看起来“有点合法”,原因有两个:

  1. 当我通过调试器逐步执行代码时,代码似乎工作正常。
  2. 在线搜索,甚至在 SO搜索,都表明没有puts参数会创建一个换行符。

但是,这样做是不好的做法(因此出现 RubyMine 警告)?我正在查看的代码来自 2006 年。如果有任何问题,我将使用 Ruby 1.9.2 运行它。

在此处输入图像描述

4

2 回答 2

3

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

def puts(obj='', *arg)

至于 RubyMine,它对我来说没有显示任何错误。puts您是否会在代码中的其他地方定义方法?您可以cmd单击它,以获取定义。

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

于 2011-02-16T14:23:59.710 回答
1

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

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

于 2011-02-16T14:26:02.237 回答