|
Вопрос # 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]:
А что бы помнить имена, надо не функциями мыслить. А объектами и пространствами имен. А то свалят в одну стопку десять сотен функций и потом жалуются.
Хотя с русскоязычными будет таже проблема - для одного понятно сокращения, а для другого - темный лес.
Национальные домены - не знаю, я вот даже не представляю, как я буду на китайские сайты ходить (как собственно и смотреть код с китайскими переменными или арабскими. А с ними тут ещё больше засада, там ведь слова пишуться справа на лево... а редакторы это так любят....).
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|