[Ruby] Определение "+" и перестановка слагаемых
Yuri Leikind
YuriLeikind at scnsoft.com
Wed Oct 2 16:42:03 MSD 2002
On Wed, 2 Oct 2002 08:56:33 +0300
Ilya Palagin <tux at fioc.kz> wrote:
> Здравствуйте,
>
> К письму приложен файл с кодом. Интересно было бы узнать, как и где
> определить метод "+", чтобы скрипт работал с 33-й строкой, т.е. при
> перестановке слагаемых?
>
Может я не все понял, но если не хочется писать каждый раз
cgi.h1{"Some text"} + te.to_s
а хочется писать
cgi.h1{"Some text"} + te
то можно залезть в класс String и воспользоваться alias_method:
class String
alias_method :new_plus_name, :+
def+(e) # это у нас расширенный метод +
if e.class == PageElement
self.new_plus_name e.to_s # но оригинальный метод
# сохранился с именем new_plus_name
else
self.new_plus_name e
end
end
end
Вот. Так будет работать. Я правильно понял, это то, что нужно?
___
Best regards,
Yuri Leikind
I invented the term Object-Oriented, and
I can tell you I did not have C++ in mind.
Alan Key
More information about the Ruby
mailing list