| 
| 
 | Вопрос # 2 694/ вопрос открыт / | 
 |  Доброго времени суток!
 Столкнулся с необходимостью реализовать такую конструкцию:
 
 function aaa( ... );
 begin
 bbb( ... );
 end;
 
 Или же
 
 procedure aaa( ... );
 begin
 bbb( ... );
 end;
 
 Иначе говоря, мне нужна функция (процедура), у которой будет два имени-синонима :) То есть добиться результата можно будет и вызвав aaa, и вызвав bbb
 
 Представленная контрукция такой результат даёт, но мне хочется узнать: есть ли более лаконичное решение? Что-то вроде "функций-синонимов", как я это дело назвал. Может я изобретаю очередно велосипед? )
 
 
 Заранее спасибо за ответ
 
|  |   Вопрос задал: Andrew T (статус: Посетитель)Вопрос отправлен: 28 апреля 2009, 13:18
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Andrew T!Подобного в языке нет. И даже не понимаю, зачем такое может быть надо. Но можно реализовать хитрым методом.
 
 type 
  TMyfunc = function(...);
var
  bbb : TMyFunc;
 
//....
bbb := @aaa;Но этот метод позволяет дублировать только функции на функции и процедуры на процедуры и только с одинаковыми сигнатурами. То есть функцию в процедуру переделать таким образом нельзя. Назовите цели - может и решение будет красивое:) 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 28 апреля 2009, 14:06
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 4; последнее сообщение — 28 апреля 2009, 16:11; участников в обсуждении: 2. 
|   | Andrew T (статус: Посетитель), 28 апреля 2009, 14:23 [#1]:Цель такая: в Delphi 2009 наконец-то появилась поддержка Юникода, поэтому теперь можно создавать переменные с именами на различных языках + функции/процедуры, тоже на разных языках, а не только на english-е 
 Сейчас разбираю коллекцию unit-ов, созданных ранее, и решил дать функциям "русские" имена: вдобавок к GetOSType() добавить ТипСистемы(); и т.д
 
 Мне как человеку из России будет проще взять из unit-а "родное" название, а англичанину - GetOSType, если вдруг он захочет использовать мои функции в своих проектах )))
 |  
|   | Вадим К (статус: Академик), 28 апреля 2009, 14:58 [#2]:лучше не делать этого. Лучше не делать. - даром потраченное время
 - для немцев, например, как программист Вы будете ненужны
 - на все языки не напасёшся
 - переключаться постоянно - это ужас
 - некоторые имена, содержащие буквы, которые похожи на латинские, сложно отличить - это самая большая проблема. Прийдется создавать в разных языках.
 И, учите английский. Сколько пространаства для размышлений открывается...
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Andrew T (статус: Посетитель), 28 апреля 2009, 15:37 [#3]:Я был готов к критике. Само собой данные пляски с бубнами пригодятся не всем, не везде, не всегда. 
 Тут как с национальными доменами (IDN) - люди возмущаются, но процесс продвигается
  
 PS: английский - хорош, но он не панацея
  Не раз задумывался, как назвать новую функцию, чтобы и запомнить было легко, и набирать, и с другими похожими не перепутать. |  
|   | Вадим К (статус: Академик), 28 апреля 2009, 16:11 [#4]:А что бы помнить имена, надо не функциями мыслить. А объектами и пространствами имен. А то свалят в одну стопку десять сотен функций и потом жалуются. Хотя с русскоязычными будет таже проблема - для одного понятно сокращения, а для другого - темный лес.
 Национальные домены - не знаю, я вот даже не представляю, как я буду на китайские сайты ходить (как собственно и смотреть код с китайскими переменными или арабскими. А с ними тут ещё больше засада, там ведь слова пишуться справа на лево... а редакторы это так любят....).
 Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |