1

私は Ruby の初心者レベルで、取り組んでいる演習では、さまざまな数学メソッドを使用して Calculator class_ を作成する必要があります。

これが私が実行したコードで、エラーがあります。コースで与えられたヒントに @calc が言及されていますが、挿入する場所や理由がわかりません。

 class Calculator
   attr_accessor :x, :y

   def initialize(x,y)
     @x, @y = x, y
   end

   def add()
     x + y
   end

   def subtract()   # **or should it be listed as y,x?**
     y - x
   end

   def multiply()
     x * y
   end

   def divide()
     @x.to_f / @y.to_f
   end

 end
 => nil

 calc = Calculator.new(5 , 2)
 => #<Calculator:0x00000101067258 @x=5, @y=2>

NoMethodError: undefined method `add' for #<Calculator:0x00000101067258 @x=5, @y=2>
  from (irb):32
4

2 に答える 2

0

エラーはありません。問題は、適切な属性でメソッドを呼び出すことだけです。 @x と a の間には多くの違いがあります。add のメソッド定義が間違っています。

def add() 
  x + y 
end

この代わりに、このメソッドを次のように書き換えます

def add()
  @x + @y
end

お役に立てば幸いです。

于 2014-12-01T17:29:19.597 に答える