2016-10-03 5 views
0

"私の例では、initializeメソッドは2つの引数を受け取ることを想定していますが、引数をinitializeメソッドに関連付けると、それをそのままにすることはできません。Inicializeメソッドの引数の問題

player = Player.new("Name", "Surname", 25) 

コンパイラは応答します:; - その理論のための多くのが、私の場合には、それは逆である(

class Player 
     attr_accessor :name, :age, :score 

     def inicialize(name, age, score) 
     @name = name 
     @age = age 
     @score = score 
     end 

     def to_s 
     "Player #{name} is #{age} old and have #{score} points" 
     end 
    end 

は、だから私は単にそれを呼び出すので

`initialize': wrong number of arguments (given 3, expected 0) (ArgumentError) 

、私よりも:

player = Player.new; player.name = 'Peter' 

rks ....なぜ? 私がinicializeの引数を削除すると、それはまったく同じ話です。

+1

'initialize'!=' inaticize'です。 'c'バージョンは単にここのタイプミスですか、それともあなたの実際のコードですか? –

+0

OMG、恥ずかしがり屋、私は誰かがこの質問を誤解すべきだと思う。 Typo BIG時間;(.Thx Marc – user3685089

答えて

0

initializeでなく、inicializeである必要があります。

class Player 
    attr_accessor :name, :age, :score 

    def initialize(name, age, score) 
    @name = name 
    @age = age 
    @score = score 
    end 

    def to_s 
    "Player #{name} is #{age} old and have #{score} points" 
    end 
end 

player = Player.new("Name", "Surname", 25) 
#=> #<Player:0x007fca2a4dfbb0 @age="Surname", @name="Name", @score=25>