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