2017-01-22 1 views
0
class Place 
    @description = "Default place" 

    def initialize(x : Int32, y : Int32, description : String) 
    @x = x 
    @y = y 
    @description = description 

    puts "Description of this place is: #{description}" 
    end 
end 



require "./browser-game/*" 
require "./places/*" 

module Browser::Game 
    # TODO Put your code here 
    place = Place.new 2, 3, "Yay new description" 

    puts place.description 
    puts "End of the program" 
end 

erhalte ich diesen Fehler:Instanz Eigenschaft anstelle von nicht definierten Methode Get

Error in browser-game.cr:8: undefined method 'description' for Place

puts place.description 
      ^~~~~~~~~~~ 
+0

Ich mag Ihre Codierung Setup –

+0

@LucaAngioloni danke! Empfehlenswert Kathoden-Terminal-App für Mac mit Sounds von Alien (erster Film) – idchlife

Antwort

0

: Schreibe:

class Place 
    getter :description 
    @description = "Default place" 

    def initialize(x : Int32, y : Int32, description : String) 
    @x = x 
    @y = y 
    @description = description 

    puts "Description of this place is: #{description}" 
    end 
end 

getter verwendet wird, von einer Instanz Zugriff auf die Eigenschaft lesen zu geben. setter ist für die Einstellung. Ohne dies versucht der Compiler auf die Methode zuzugreifen, da Sie keinen Zugriff auf die Eigenschaft erhalten haben.

+1

Sie können direkt schreiben 'Getter Beschreibung =" Standard-Ort "' – bew

Verwandte Themen