OberonCore https://forum.oberoncore.ru/ |
|
Множественные псевдонимы в IMPORT https://forum.oberoncore.ru/viewtopic.php?f=29&t=410 |
Страница 1 из 1 |
Автор: | Евгений Темиргалеев [ Воскресенье, 18 Март, 2007 13:54 ] |
Заголовок сообщения: | Множественные псевдонимы в IMPORT |
Работал с подсистемой Coco/R. Обнаружил для себя весьма интересный факт (который для меня не был очевиден): Модуль можно импортировать как без псевдонима + с любым числом псевдонимов. Самое главное чтобы идентификаторы на уровне модуля не дублировались. Код: IMPORT MathExprS, ES := MathExprS;
|
Автор: | Info21 [ Воскресенье, 18 Март, 2007 15:39 ] |
Заголовок сообщения: | Re: Множественные псевдонимы в IMPORT |
Евгений Темиргалеев писал(а): Модуль можно импортировать как без псевдонима + с любым числом псевдонимов. Самое главное чтобы идентификаторы на уровне модуля не дублировались.
Код: IMPORT MathExprS, ES := MathExprS; Да, забавный факт. Не знал. Кажется, что может пригодиться. Спасибо. |
Автор: | Борис Рюмшин [ Воскресенье, 18 Март, 2007 18:39 ] |
Заголовок сообщения: | |
Это не запрещено определением языка, однако, не рекомендую это дело применять на практике, т.к. при исправлении компилятора оно может уйти. Не пытайтесь пользоваться недокументированными возможностями. ![]() |
Автор: | Илья Ермаков [ Воскресенье, 18 Март, 2007 18:47 ] |
Заголовок сообщения: | |
Нет, это дело не уйдет. Тут все в порядке - идеология псевдонимов позволяет не только сократить псевдонимом имя модуля, но и наоборот - прозрачно перенаправить сервис на другой модуль. Никто не мешает перенаправить несколько сервисов на обслуживание одному модулю, если он поддерживает все интерфейсы... (Ну, например: In := Inout, Out := Inout...) |
Автор: | Борис Рюмшин [ Воскресенье, 18 Март, 2007 19:30 ] |
Заголовок сообщения: | |
Возможно. В таком случае нужно это задокументировать. |
Автор: | Илья Ермаков [ Воскресенье, 18 Март, 2007 22:19 ] |
Заголовок сообщения: | |
Ага, и обмыть не забыть ![]() ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |