Я искал через некоторый код в библиотеке строка побега другой день, и я наткнулся на некоторый код, который выглядит следующим образом:Нужна помощь, чтобы понять некоторые Ruby-код из
class StringWrapper
class << self
alias new_no_dup new
def new(str)
new_no_dup(str.dup)
end
end
def initialize(str)
@str = str
end
...
end
Может кто-нибудь объяснить, что происходит Вот? Я понимаю до класса < < самостоятельной части, но я не совсем понимаю, как называть новый метод new_no_dup, только чтобы назвать его новым методом ниже? Кроме того, почему, по вашему мнению, автор хочет сделать это таким образом?