Ruby'deki bir kitap üzerinde çalışıyorum ve yazar, kitabın önceki bölümlerinde olduğundan daha fazla bir sınıf başlatma tanımlaması yazmak için biraz farklı bir form kullandı.Bu İki Ruby Sınıfı Başlatma Tanımları Arasındaki Fark Nedir?
Kitabın önceki bölümlerindeclass Ticket
attr_accessor :venue, :date
def initialize(venue, date)
self.venue = venue
self.date = date
end
end
, böyle tanımlanmıştır olurdu: setter yöntemini kullanarak arasında herhangi bir işlevsel fark ilk olarak,
class Ticket
attr_accessor :venue, :date
def initialize(venue, date)
@venue = venue
@date = date
end
end
var mı Şuna benzer örnek, örnek değişkeni ikinci olarak kullanmak gibi mi? İkisi de işe yarıyor gibi görünüyor. Hatta işler karışmadan:
ayarlayıcı yöntemattr_accessor
tarafından tanımlanan ve böylece değişken ayarı ama hiçbir şey yapmaz beri
class Ticket
attr_accessor :venue, :date
def initialize(venue, date)
@venue = venue
self.date = date
end
end
+1. –