Как Ruby отправляет методы при вызове super?

Я провожу некоторое исследование внутренних методов вызова методов в некоторых объектно-ориентированных языках для хобби-проекта. Я обнаружил, что информацию о нормальной диспетчеризации довольно легко найти, но вызвать "суперметод" метода класса немного сложнее для понимания.

Разобрав Objective-C, я обнаружил, что clang будет вставлять ссылки на определенный класс, так что в общем случае суперкласс, который вызывается [super message] исправлено во время компиляции для типичной реализации метода. ( Что такое поведение msgSendSuper в Objective-C?)

Я надеялся понять, что такое механизм Ruby, но ничего не нашел. Я взглянул на источник, но не смог найти то, что искал. Может кто-нибудь, пожалуйста, объясните внутренности отправки метода Ruby для super звонки в стандартной реализации ruby-lang.org?

0 ответов

Другие вопросы по тегам