agentex
offline
Опыт:
34,834Активность: |
Тип boolexpr
Как задать значение локальной переменной типа boolexpr непосредственно из функции? (т.е. не создавая доп. функций). Ответьте примерами, если можно |
29.07.2008, 18:39 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
__Dark Lord__
offline
Опыт:
5,262Активность: |
Boolexpr вроде булева переменная. Set Var = true/false |
29.07.2008, 18:58 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
ващет она не логическая совсем... это вообще отдельный тип |
29.07.2008, 19:05 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
всмысле что это? я же сказал что это разные типы переменных вот комменты из JassCraft: type boolexpr extends handle (это описание типа boolexpr) Wc3 Hardcoded Native (это описание типа boolean) а при попытке boolexpr присвоить значение true(local boolexpr b = true) выдает: Cannot convert boolean to boolexpr (кто бы сомневался) |
29.07.2008, 19:14 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
__Dark Lord__
offline
Опыт:
5,262Активность: |
Мне не понятно какой тип данных он хранит. Не надо писать что хэндл. Тип юнит хранит хэндл юнита. Тип boolexpr тоже хэндл, но другой. |
29.07.2008, 19:20 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
agentex, если я правильно тебя понял...
Код:
Функция, указываемая для буль-выражения, обязательно должна возвращать boolean. Отредактировано ShadoW DaemoN, 29.07.2008 в 19:35. |
29.07.2008, 19:20 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
__Dark Lord__
offline
Опыт:
5,262Активность: |
function test вернет true Condition (true) должно вернуть true Вот что получается. bx = true Т.е либо ты не правильно привел пример. Либо я че-то не понял. Или же в bx записывается само Condition. Т.к как в примере ты приравниваешь boolexpr значение с bool значением. |
29.07.2008, 19:26 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
вот мне нужно както обойтись без функции test, в том то и дело... ну ладно, значит нельзя осуществить это, а жаль |
29.07.2008, 19:38 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
__Dark Lord__, рекомендую "думать окуратно прежде чем писать" (c) DioD
Смотри: Код:
conditionfunc - расширение типа boolexpr. Следовательно, мой пример построен верно. agentex, а, собственно, в чем суть проблемы? Что примерно нужно реализовать? |
29.07.2008, 19:41 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
ну четкой цели у меня нету, просто хотелось бы вместо 2 функций обойтись 1, т.к. я предпочитаю чтобы все было вместе... з.ы. речь идет об ф-ии GroupEnumUnitsInRangeOfLoc() где последний аргумент - boolexpr. |
29.07.2008, 19:50 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Лось
offline
Опыт:
7,223Активность: |
Ну поставь там null, потом проверяй каждого юнита по отдельности.. |
29.07.2008, 20:03 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
agentex, если все вместе - это не значит, что это все оптимально. Я примерно представил, как ты хочешь сделать:
Код:
Вроде все замечательно, все работает, но это медленно и малоэффективно. Наоборот, гораздо лучше будет использовать здесь буль-выражение (лучше его создавать глобальной переменной, чтобы немного сэкономить). Код:
Что мы здесь видим? Пример так называемого "имба-цикла". Буль-выражение задается 1 раз при инициализации триггера, что позволяет не тормошить каждый раз Condition (это занимает время). С группой то же самое. К тому же такой GroupEnum... выполняется быстрее, чем ForGroup, и уж тем более быстрее "два-в-одном" (см. первый код). Вывод: имеет смысл использовать "имба-цикл" ^^ |
29.07.2008, 20:19 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
спс за разъяснение, буду юзать "имба-цикл" №1 =) хм и почему это он малоэффективен? |
29.07.2008, 20:49 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
__Dark Lord__
offline
Опыт:
5,262Активность: |
ShadoW DaemoN, вам "думать окуратно прежде чем писать" (c) DioD
Ибо я просто спросил. И просто не посмотрел возвращаемые параметры функци Condition. |
29.07.2008, 21:01 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|