type key
можно ли спокойно использовать type key из vjass , например для хештаблиц, и быть уверенным, что он работает нормально.

Лучший ответ:
можно
только вопрос
зачем?
и как в твоём представлении оно может работать не нормально?



Просмотров: 235

XGM Bot #1 - 2 месяца назад 0
Похожие вопросы:

» ответ
Tapper, не ,не помогает.
Если ты конечно про
//! nocjass

//! endnocjass
В общем, такая проблема возникает только на JNGP Requiem.

nvc123 #2 - 2 месяца назад 1

можно
только вопрос
зачем?
и как в твоём представлении оно может работать не нормально?
KingMaximax #3 - 2 месяца назад 0
Не проще ли использовать перечисление enum при помощи cJassa?
ScopteRectuS #4 - 2 месяца назад 0
nvc123, хотел использовать одну хеш-таблицу на всю карту. Так как у меня сейчас на карте уже насчитывается около 5-7 хеш-таблиц, все они могут крепить данные к одному объекту.

например, этот код будет работать исправно, потому что данные крепятся к разным хеш-таблицам, хоть и по одному ключу.

	сall SaveUnitHandle( hash_1, GetHandleId( object ), 0, whichUnit )
	сall SaveUnitHandle( hash_2, GetHandleId( object ), 0, whichUnit )
	сall SaveUnitHandle( hash_3, GetHandleId( object ), 0, whichUnit )
	сall SaveUnitHandle( hash_4, GetHandleId( object ), 0, whichUnit )

я же хотел этот код переделать на:

globals
	key KEY_1
	key KEY_2
	key KEY_3
	key KEY_4
endglobals

...
	сall SaveUnitHandle( hash_1, GetHandleId( object ), KEY_1, whichUnit )
	сall SaveUnitHandle( hash_1, GetHandleId( object ), KEY_2, whichUnit )
	сall SaveUnitHandle( hash_1, GetHandleId( object ), KEY_3, whichUnit )
	сall SaveUnitHandle( hash_1, GetHandleId( object ), KEY_4, whichUnit )
...
И я спрашивал, может ли type key выдать одно и то же число при компиляции.
KingMaximax, еnum не подходит, потому что он может выдать одни и те же значения, если использовать его дважды.Я думаю Вы поняли почему, по выше указанному примеру.
nvc123 #5 - 2 месяца назад 0
еnum не подходит, потому что он может выдать одни и те же значения, если использовать его дважды
что за бред?
enum отличается от key только порядком выбора
что вообще ты имеешь ввиду под использовать дважды? (пример если можно)
ScopteRectuS #6 - 2 месяца назад (отредактировано ) 0
nvc123, cори, ошибся, я думал, что если сделать так:
enum
	ENUM_1
	ENUM_2
endenum

enum
	MENU_1
	MENU_2
endenum
то получим:
ENUM_1 = 0
ENUM_2 = 1
MENU_1 = 0
MENU_2 = 1

Проверил, получается:
ENUM_1 = 0
ENUM_2 = 1
MENU_1 = 2
MENU_2 = 3
Hate #7 - 2 месяца назад 0
если энумы называть, тогда они начнут отсчет заново
enum (states) { stun, sleep, root }
enum (armor) { physical, magical } 
то
stun = 0
sleep = 1
root = 2
physical = 0
magical = 1
иначе продолжают
ScopteRectuS #8 - 2 месяца назад 0
Hate, понятно, я лишь хотел убедиться, что type key не даст сбой и не выдаст одно число дважды.
nvc123 #9 - 2 месяца назад 0
ScopteRectuS, так зачем много энумов?
юзай 1
Hate, ещё если в разных библиотеках то тоже заново отсчёт, даже если безымянные
ScopteRectuS #10 - 2 месяца назад 0
nvc123, я не использую cJass, воспользуюсь type key'ом, если он норм работает.
Я спросил это, потому что нигде не видел, чтобы использовали type key. Вот и подумал, что он глючный.
nvc123 #11 - 2 месяца назад 2
ScopteRectuS, и я хз зачем ты везде юзаешь таблицы
в большинстве случаев массивы/структуры намного удобнее
ScopteRectuS:
Я спросил это, потому что нигде не видел, чтобы использовали type key. Вот и подумал, что он глючный.
просто ни у кого не возникает необходимости в нём
ScopteRectuS #12 - 2 месяца назад 0
nvc123:
ScopteRectuS, и я хз зачем ты везде юзаешь таблицы
в большинстве случаев массивы/структуры намного удобнее
Соглашусь, но я уже привык к хеш-таблицам.
pro100master #13 - 2 месяца назад 0
key генерирует порядком числом, то есть пример прочитай www.wc3c.net/vexorian/jasshelpermanual.html#keykeykey