Ich habe eine Klasse in Ruby
class Player
def initialize(name, points)
@name = name
@points = points
end
def getPoints
return @points
end
def say_hello
puts "Hello, #{@name}!"
end
end
Wenn ich auf die Variable points zugreifen möchte
if person.points > 5
person.say_hello
end
bekomme ich einen Fehler das die Methode nicht gefunden wurde.
test.rb:26:in `<main>': undefined method `points' for #<Person:0x0000558641f4b420 @name="Alice", @points=30> (NoMethodError)
Wenn ich mit der Funktion getPoints darauf zugreife
if person.getPoints > 5
person.say_hello
end
dann funktioniert es. Kann ich nicht direkt auf die Variablen zugreifen?