Tek bir ad takma yöntemini tanımlamaya çalışıyorum. As:Tek bir nesneyi diğer yöntemle hizala
name = 'Bob'
# I want something similar to this to work
name.define_singleton_method(:add_cuteness, :+)
name = name.add_cuteness 'by'
I ikinci bir parametre olarak bir yöntem nesnenin geçebileceği emin.
Ben bunu kullanmaz String#+
yöntemi diğer ad istiyorum bu
name.define_singleton_method(:add_cuteness) { |val| self + val }
gibi yapmak istemem. Takma ad üzerinde vurgulama, ancak gerçek yöntem nesnesini ikinci bir parametre olarak gönderme de havalı olur.
değil 'define_singleton_method' bir tamsayı üzerinde değişmez olduğunu olabilir – bjhaid
@bjhaid true. 'String' –
'name = 'Bob' olarak değiştirdim; name.define_singleton_method (: add_cuteness & name.method (: +)); name = name.add_cuteness 'by' # => 'Bobby'' istediğin bu mu? – bjhaid