0

このコード形式 RubyMonk は、RubyMonk で動作します。

class Calculator
  def add(a, b)
   a + b
  end

  def subtract(a, b)
   a - b
  end
end

Sublime Text 2 にコピーし、ビルドシステムを Ruby に設定して保存しました。コンソールに のようなものを入力するとadd(1, 2)、次の例外が発生します。

Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'add' is not defined

これに対する解決策が見つかりませんでした。Sublime Text 2 を再インストールしてみたり、ST3 のベータ版を試したり、良いとわかっている他のコード (同じエラー) を試したりしましたが、何も機能しませんでした。何か案は?

編集:別のユーザーの提案で、私は試しました:

Calculator.new.add(1, 2)

返された:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'Calculator' is not defined
4

2 に答える 2

0

Object がまったくないメソッド add(1,2) を呼び出しているように感じます。私が言いたいのは、この場合、電卓に追加するように指示しているのではなく、単に追加する方法がわからない薄い空気に伝えているということです!

次のことを試してください。 Calculator.new.add(1,2)

そして、追加する Calculator のインスタンスを要求します。

疑問がある場合、または私が完全に間違っている場合は教えてください。

編集: texasbruce が述べたように、ST2 コンソールは Python です。したがって、解決策は次のとおりです。puts Calculator.new.add(1,2)コードを追加し、ヒットCtrl+Bして Ruby を起動します。

于 2013-09-05T03:20:31.057 に答える