FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
[cJass] Вопросы и предложения
Какой конечный синтаксис у дефайна? Он создаёт промежуточную функцию, или каждый раз вызывает исходную?
Отредактировано FREEZE_ball, 02.09.2009 в 16:27. |
02.09.2009, 16:11 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,589Активность: |
хм, это одним постом не обьяснишь
define NAME = VALUE в двух словах покажи что хочешь задефайнить
ADOLF добавил:
Оо ты о чем? он ничего не создает... он существует только в "компиляторе" |
02.09.2009, 16:27 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Поправил название темы...
ADOLF, я имею ввиду вот что: Код:
Так вот, из компилятора cJass выходит Код:
или Код:
? |
02.09.2009, 16:34 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
80,619Активность: |
FREEZE_ball, второе разумеется. |
02.09.2009, 16:43 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
FREEZE_ball, конечно второе.
Дефайны - это, грубо говоря, список для автозамены при сборке кода. Ах да, у тебя синтаксическая ошибка в объявлении, надо вот так:
При компиляции с твоим вариантом код будет таким: call BJDebugMsg("Echo!")(), а с вышеуказанным - без лишних скобок в конце. |
02.09.2009, 17:05 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Hellfim, поблагодарю и за ту тему, и за эту.
Предложение: сделать удаление комментов во время компиляции cJass`ом опциональным. Я часто смотрю конечные названия функций (для ExecuteFunc в случаях приватных/публичных функций в областях/библиотеках), и в тоннах кода, в которых нету моих комментариев, разобраться не могу. Можно сделать аналог дефайна на группу функций? FREEZE_ball добавил: ShadoW DaemoN, спасибо. |
02.09.2009, 17:08 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
80,619Активность: |
Насколько я знаю.
хмм лол, ты тоже забыл <...> Отредактировано ShadoW DaemoN, 02.09.2009 в 17:36. |
02.09.2009, 17:29 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Для чего нужен void? Я C++ не изучал.
|
02.09.2009, 17:46 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MF
Что-то вокруг не так
offline
Опыт:
26,594Активность: |
FREEZE_ball, это takes nothing returns nothing. Смотря где пишем, если тип функции, то ниче возвращать не надо, если тип принимаемых аргументов (точнее вместо аргументов) то функция ниче не принимает. Ну это в си, как в сиЖассе... одному Адику ведомо. ^_^ |
02.09.2009, 17:53 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
MF, пройдёт код
Код:
? |
02.09.2009, 18:24 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
80,619Активность: |
FREEZE_ball, да |
02.09.2009, 18:28 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
MF, ненене =) войд — это просто nothing
swdn,
нифига тут <> не нужно
Приведу кусок из находящегося в разработке мануала для пояснения синтаксиса записи функций:
Для большего удобства и повышения наглядности, синтаксис cJass допускает упрощенную запись функций (и методов vJass). В общем виде, она выглядит так:
Теперь разберем её подробнее: сначала пишется тип возвращаемого значения (в приведенном примере функция не возвращает ничего, поэтому там стоит тип nothing), за которым следует имя функции, после чего в круглых скобках записываются принимаемые функцией аргументы (если функция не принимает аргументов, скобки можно оставить пустыми), и завершается запись блоком кода функции, заключенным в фигурные скобки.
Вот, например, во что превратится приведенный выше фрагмент кода после трансляции:
Таким же образом записываются и методы, применяемые в vJass. Парсер сам определит, чего от него ждут — объявления функции или метода. |
02.09.2009, 19:29 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,589Активность: |
напомню что префиксы в функции (будь то private или public) пишуться перед типом
|
02.09.2009, 22:53 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
это уже к вжасс) |
02.09.2009, 22:58 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,589Активность: |
сЖасс дб совместимым с вЖассом, из этого и исходим |
03.09.2009, 13:14 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
я имел ввиду, что это и так знают юзеры вжасса) |
03.09.2009, 13:26 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Почему бы не убрать необходимость инклуда .j файлов?
Кстати, а зачем их вообще инклудить? |
03.09.2009, 13:38 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,589Активность: |
зачем? что бы просто что то включать в код, без копипасты и разбирательства что да куда или написания велосипедов? |
03.09.2009, 13:48 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Плюс, если речь идет о стандартной библиотеке, то она точно есть если установлен cJass — это позволяет не включать их в код, а спокойно инклюдить =) |
03.09.2009, 13:57 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
ADOLF, я спросил из академического интереса, никакой риторики/сарказма в моём вопросе не было.
Следующий вопрос: какие именно файлы инклудить для получения полной функциональности cJass`а при версии 1.24б, желании писать быстрее и последнем апдейте AdicHelper`а? |
03.09.2009, 14:04 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|