![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
Сам я не сильно в делфи чета кодирую... всеж предпочитаю С(++\#)... и стало инетересно как же реализована в делфи (равно как и в паскале) таже ф-ция writeln ?
В паскале я как понимаю это макрос(?), ибо переменное кол-во аргументов в языке не заложено. Если это ф-ция то как написать свою такую же? (чтобы синтаксически они отличны НЕ были (тот же Format(...) - имеет отличия!)). Если макрос, то как он реализован и где его пардон "искать" ? Если в паскале сий способ не был заложен, то изменилось ли это в Delphi ? -------------- в общем ваши соображения) ЗЫ в поиске похожего не нашел( может руки кривыЕ? -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Вариантов несколько.
1. Использовать перегруженные функции (справка по overload) 2. Использовать функции с параметром по умолчанию (Типа function MyFunc(a: integer; b: string = 'строка'): boolean;) 3. Использовать функуии с параметрами open array (опять же справка) |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
1 - не примелемо (сколько перегрузок для writeln тогоже надо сделать (я так подозреаю почти бесконечное множество)?)) 2 - аналогично. 3 - хм... если сделать `array of pointer` ...... возникнет проблема при передачи констант?( Constants cannot be used as open array arguments -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Воть пример
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
| jonie |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
равно как и тут) writeln - то без `[]` ! /* подобное я видел ранее) почему это мои ф-ции должны синтаксически отличаться?) я хочу писать также легко, да и без строки форматирования)) */ Это сообщение отредактировал(а) jonie - 25.10.2006, 22:20 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Встроено в компилятор. Идеологически это функция, на практике - часть языка
-------------------- Обижено школьников: 8 |
|||
|
||||
| Romikgy |
|
||||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
первое
второе все юзает ф-ции
каждый элемент в скобках выполняется как отдельная ф-ция -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||||
|
|||||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
и функцию inc я тоже не могу найти. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| digs |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 14.10.2006 Репутация: нет Всего: 1 |
Проблем то добавить две скобки?
А массив можно вариантный задать, а внутри уже разбирать по типам |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
да, и он заменяет это на соотв. инструкцию процессора. Это эффективнее чем вызывать функцию. кто-нибудь может мне сказать почему в Паскале до сих пор нет макросов? -------------------- Обижено школьников: 8 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
имхо вопрос к борланду , а не к форумчанам -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Потому что макросы это зло
Код должен быть прямо читаемым, а не подразумеваемым. |
|||
|
||||
| jonie |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
А зачем? Дело не в скобках. Сравнивая с С\С++ тем же...там все что есть возможно написать своими силами с идентичным синтаксисом. Делфи же написан тоже не делфи). Лично мне не нравятся "черные ящики".
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
С точки зрения кода макрос - это функция. Только вопрос в эффективности. Помоему местами есть смысл заюзать препроцессор. да, но реализация - [censored34! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме]. Если бы были макросы как часть языка, то 1) без "тонкостей" компилятора 2) красивый и прозрачный модуль "system" -------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |