LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

Что-то я не вполне понял код
будем здорово, если вы будете патчить Python'овскую строку

>>> import sys
>>> newt = type("foo", (str,), {})
>>> newt.to_s = lambda self: sys.stdout.write("I'm " + self + '\n')
>>> v = newt("x")
>>> v.to_s()
I'm x
>>> 

Использовать newt вместо str локально возможно как минимум в любом методе/функции, но это потребует трюков в духе Alv.

Если мы определим в Python'e метод на самом верху, то где он окажется?

На каком верху? Подозреваю, что ты говоришь о функциях, но они могут быть вложенными.

Неужели вы не догадываетесь, что означают здесь «ruby_debug», :jruby?

Только догадываюсь, а точного значения не знаю. А что такое «weakling» - даже и не догадываюсь.

Исходная версия tailgunner, :

Что-то я не вполне понял код
будем здорово, если вы будете патчить Python'овскую строку

>>> import sys
>>> newt = type("foo", (str,), {})
>>> newt.to_s = lambda self: sys.stdout.write("I'm " + self + '\n')
>>> v = newt("x")
>>> v.to_s()
I'm x
>>> 

Использовать newt вместо str локально возможно как минимум в любом методе/функции, но это потребует трюков в духе Alv.

Если мы определим в Python'e метод на самом верху, то где он окажется?

На каком верху? Подозреваю, что ты говоришь о функциях, но они могут быть вложенными.

Неужели вы не догадываетесь, что означают здесь «ruby_debug», :jruby?

Только догадываюсь, а точного значения не знаю. А что такое «weakling» - даже и не догадываюсь.