Сейчас 04:58:41 Пятница, 27 декабря, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
[Вопрос] define
xomachДата: Понедельник, 24 Июня 2013, 21:25:56 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
верно описан макрос?

Код

define AddDummy(u,spd,angle,radius) = {  
  DummyNum++;  
  Dummy[DummyNum]=shell.create();  
  Dummy[DummyNum].u=u;  
  Dummy[DummyNum].spd=spd;  
  Dummy[DummyNum].angle=angle;  
  Dummy[DummyNum].radius=radius;  
}


 

Ty3uKДата: Понедельник, 24 Июня 2013, 21:30:41 | Сообщение # 2
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Да. Вот только не забудь, что
Цитата (cJASS Manual)
Внимание! Так как парсер не проверяет типы аргументов макроса, это может приводить к ошибкам по невнимательности. Контроль за значениями, передаваемыми макросам, остаётся на совести программиста.


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

xomachДата: Вторник, 25 Июня 2013, 11:29:45 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
а как вообще макро со скобками работает?
Например:
define def(U) = RemoveUnit(U)
вызовет ошибку?




Сообщение отредактировал xomach - Вторник, 25 Июня 2013, 11:30:35
 

Ty3uKДата: Вторник, 25 Июня 2013, 11:33:19 | Сообщение # 4
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Нет, это макрос с аргументами

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

xomachДата: Вторник, 25 Июня 2013, 11:36:24 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
Ty3uK, то есть, он только в ( ) заменяет на аргумент? Как он отличает, где мне нужна подстрока в исходном виде, а где аргумент?

 

Ty3uKДата: Вторник, 25 Июня 2013, 11:38:00 | Сообщение # 6
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Исходники лежат в открытом доступе - можно поглядеть если интересно.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

xomachДата: Вторник, 25 Июня 2013, 11:38:08 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
Код

setdef SET(x) = Spell[SpellsNum].x = x

так можно, или же так:
Код

setdef SET(x) = Spell[SpellsNum].##x##=##x


 

Ty3uKДата: Вторник, 25 Июня 2013, 11:42:38 | Сообщение # 8
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
xomach, тестируй на здоровье.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

GoodieДата: Вторник, 25 Июня 2013, 13:47:09 | Сообщение # 9
4 уровень
Группа: Проверенные
Сообщений: 84
Награды: 0
Репутация: 57
Блокировки:
xomach, http://cjass.xgm.ru/manual-ru#htoc13 Читай на здоровье

cJass рулит!
Power of Mighty[Work In Progress]
 

Ty3uKДата: Вторник, 25 Июня 2013, 14:40:58 | Сообщение # 10
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Goodie, там много чего не описано.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

GoodieДата: Вторник, 25 Июня 2013, 16:23:18 | Сообщение # 11
4 уровень
Группа: Проверенные
Сообщений: 84
Награды: 0
Репутация: 57
Блокировки:
Ty3uK, Ну по крайней мере есть азы

cJass рулит!
Power of Mighty[Work In Progress]
 

Ty3uKДата: Вторник, 25 Июня 2013, 16:25:47 | Сообщение # 12
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Угу. Но вот половина препроцессорных плюшек не описана. :(

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Вторник, 25 Июня 2013, 19:38:02 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (xomach)
setdef SET(x) = Spell[SpellsNum].x = x
Цитата (xomach)
setdef SET(x) = Spell[SpellsNum].##x##=##x
В обоих случаях результат будет один и тот же - заменятся оба икса. А вообще
Цитата (Ty3uK)
тестируй


 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz