2017-08-26 1 views
0

Mein Code funktioniert nicht! Er sagt, die folgend in der KlemmeKlassenfehler in neuem Objekt

undefiniert lokalen Variable oder Methode pikachu für Haupt: Object (Nameerror)

Code:

class Pokemon 
    def initialize(type, name, attack, hp) 
    # Instance variables 
    @type = type 
    @name = name 
    @attack = attack  
    @hp = hp  
    end 

    def display 
    puts "This is #{@name} it is a #{@type} type and has #{@attack} attack and #{@hp} hp" 
    end 
end 

p = pikachu.new("eletric", "pikachu", "100", "200") 
p.initialize 
p.display` 

Antwort

2

undefinierte lokaler Variable oder Methode pikachu für main: Objekt (NameError)

Ihr Klassenname ist Pokemon, aber Sie verwenden pikachu, die zu diesem Fehler führte. Sie sollten Pokemon

p = Pokemon.new("eletric", "pikachu", "100", "200") 

Auch p.initialize entfernen verwenden, die nicht notwendig ist, wie initialize schließlich von new

+0

gut genannt werden, ich hatte das p.initialize, nehmen aber danach gearbeitet wird! Danke übrigens – kopimopi