2016-10-03 4 views
0

"예제에서 initialize 메서드는 두 개의 인수를 받겠습니다. 일단 인수를 initialize 메서드와 연결하면 해제 할 수 없습니다. 그렇게하면 오류가 발생합니다." ,Inicialize 메서드 인수 문제

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

를 따라서 :

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 

그래서 나는 단순히 호출 내가하는 것보다 :

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

그리고 rks .... 왜? inicialize의 인수를 삭제하면 똑같은 이야기가됩니다.

+1

'초기화 '! ='인서 킷'. '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>