Можно ли сделать псевдоним для модуля в Ruby?
=============================================

В Python вы можете установить псевдоним для модуля с помощью «как»:

Но я не могу найти эквивалент для рубина. Я знаю что ты можешь`include` скорее, чем`require` модуль, но это рискует столкновения пространства имен. Есть ли эквивалент псевдонимов модуля Python?

Модули в Ruby не такие уж особенные, так что вы можете просто назначить их другой константе:



Ответ Майкла, кажется, решает ваш вопрос ... тем не менее, я прочитал вопрос немного по-другому и обнаружил кое-что действительно хорошее, что я думал, стоит поделиться.

Я понял ваш вопрос следующим образом: «Что мне делать, если мне нужны два модуля с одним и тем же именем?», То есть, как я могу присвоить им псевдоним, если требование того и другого приведет к конфликту пространства имен? Потому что, насколько я понимаю, Python 's import' as ... ' идет, это также решает такие проблемы. Пример в Ruby:

Теперь, если бы я сделал это в третьем файле:

первый A был бы полностью переопределен A в b.rb. Использование трюка Майкла также не поможет:

Очень плохо. Тогда я подумал, что в Ruby есть вездесущий`dup` для создания клона практически всего и без особых надежд я просто набрал это и перезапустил программу:

Это полностью сделало мой день, надеюсь, вы, ребята, тоже это цените. Теперь, когда я думаю об этом, это имеет смысл - модуль - это такой же объект, как и любой другой, так почему бы и нет?`dup` Работа?