Ich habe eine Frage darüber, was der beste Weg ist, eine Klassenvariable in Ruby zu referenzieren. HierRuby self.name oder @name
ist eine Klasse I gemacht:
class Person
attr_accessor :name
def initialize(name)
@name = name
end
def say_name
puts @name
end
def say_name2
puts self.name
end
end
bob = Person.new("Bob")
bob.say_name
=> "Bob"
bob.say_name2
=> "Bob"
beiden "say_name" Methoden scheint wie beabsichtigt zu arbeiten. Warum verwenden Sie die @ Variable vs die Self.Variable ??
Sie brauchen nicht einmal das 'self.' in Ihrer zweiten Methode, es sei denn, Sie zuweisen, es kann nur' name' sein ... –
Sie haben keine Klassenvariable in Ihrem Code oben. – sawa