Özel bir sınıfım var ve görev operatörünü geçersiz kılmak istiyorum. amaçlandığı gibiÇoklu argümanlar ile ayar yöntemi (atama)
class MyArray < Array
attr_accessor :direction
def initialize
@direction = :forward
end
end
class History
def initialize
@strategy = MyArray.new
end
def strategy=(strategy, direction = :forward)
@strategy << strategy
@strategy.direction = direction
end
end
Bu, şu anda çalışmıyor: İşte bir örnek.
h = History.new
h.strategy = :mystrategy, :backward
[:mystrategy, :backward]
kullanımı üzerine strateji değişkeni tahsis ve yönde değişken :forward
kalır alır.
Önemli olan, yön parametresine standart bir değer atayabilmem.
Bu çalışmayı yapmak için herhangi bir ipucu çok takdir edilmektedir.
Alternatif uygulama için başka bir öneri eklemek üzere düzenlenmiştir. – Phrogz
Değerin bir Array olup olmadığını kontrol ettiğiniz öneriyi beğeniyorum. Onun brüt bir hack olduğunu söylüyorsun. Bunu kullanmak nerede sorun yaratabilir? – FlyingFoX
@FlyingFoX Bu, deyimsel olmayan, kendi kendini belgelemeyen ve genel olarak uygulanabilir olmayan (birisinin bir diziyi ilk parametre olarak geçirmek isteyebileceği durumlarda) olduğu gibi bir "brüt hack" dir. – Phrogz