3

以下は、RubyMine3.1内の小さなスクリーンショットです。私はRubyを学び始めたばかりです。ここでのコードは、atomicobject.comにあるPresenter-First MVP C#コードジェネレーターからのものです。

私はこのプロジェクトを本と一緒に使ってRubyを学びます。のドキュメントputsは、少なくとも1つのパラメータが必要であることが示されています。しかし、このコードは2つの理由で「ある程度合法」に見えます。

  1. デバッガーを介してステップスルーすると、コードは正常に機能しているように見えます。
  2. オンラインで検索すると、ここでもSOで検索すると、puts引数なしで改行が作成されることがわかります。

ただし、これを行うのは悪い習慣ですか(したがって、RubyMineの警告)?私が見ているコードは2006年のものです。それが重要な場合は、Ruby1.9.2で実行しています。

ここに画像の説明を入力してください

4

2 に答える 2

3

puts最初のパラメータに「デフォルト」値を提供するため、これは完全に問題ありません。

def puts(obj='', *arg)

RubyMineに関しては、エラーは表示されません。putsコード内のどこかでメソッドを定義することがありますか?cmd+クリックすると、定義が表示されます。

とにかく、クリーンな新しいプロジェクトで問題を再現できる場合は、バグレポートをJetBrainsに自由に送信できます。

于 2011-02-16T14:23:59.710 に答える
1

いいえ、出力だけでなくソースにも物理的な改行を作成すると便利です。すでに見てきたように、putsゼロ引数を完全に受け入れることができます。

個人的には、複数行の出力を作成する場合は、ヒアドキュメント構文を使用することを好みます。

于 2011-02-16T14:26:02.237 に答える