Yoko http://forum.yoko.com.ua/ |
|
Вопрос про объявление глобальных переменных http://forum.yoko.com.ua/viewtopic.php?f=3&t=15357 |
Page 1 of 1 |
Author: | Zeppelin [ 2009-12-14 09:40:31 ] |
Post subject: | Вопрос про объявление глобальных переменных |
Если объявить переменную вне функций, наверху скрипта, она будет глобальной. А можно как нибудь задать глобальный массив? Dim выдает ошибку, так как по сути это динамическое выделение памяти, насколько я понял.. |
Author: | Mirage [ 2009-12-14 12:20:03 ] |
Post subject: | |
DIM не работает но можно вынести во внешний файл |
Author: | Zeppelin [ 2009-12-14 12:55:40 ] |
Post subject: | |
Mirage wrote: DIM не работает но можно вынести во внешний файл
Ага, и еще 2 способа придумал - 1) Объявить глобальную строковую переменную с элементами массива, и считывать из нее (можно добавить разделители, или если каждый элемент одинаковой длины - просто считывать нужную длину). 2) Создать функцию такого типа: Sub Array(number) If number == 0 Then return 'значение 1' Else If number == 1 Then return 'значение 2' Else ... ... Endif Endif .. End sub И при обращении получается подобие обращения к элементам массива - var variable = Array(10) ![]() P.S. для первого варианта тоже можно сделать функцию, выделяющую нужный элемент из глобальной строки ![]() |
Author: | GAUHAR [ 2009-12-14 14:10:26 ] |
Post subject: | |
Может это чем поможет. Code: ##### ПРИМЕР № 1 ##### |
Author: | Zeppelin [ 2009-12-14 14:44:42 ] |
Post subject: | |
GAUHAR wrote: Может это чем поможет.
Code: ##### ПРИМЕР № 1 ##### Не, это не то - здесь будут происходить утечки памяти. Нечто подобное я и сделал изначально. При использовании файла или моих примеров, не будут выделяться новые участки памяти при каждом обращении к "массиву". У меня был изначально довольно большой массив, и функция с ним вызывалась 10 раз в секунду, память пожиралась довольно быстро и безвозвратно.. P.S. Но конечно, спасибо за участие =) |
Author: | Mirage [ 2009-12-14 15:29:33 ] |
Post subject: | |
Я мельком проходил Может не ухватил мысль но у меня например сортировка лута содержит более 700 итемов. все работает в считанные секунды. вот такая зафитушка: Code: Loot(0xF06, 0xF0D, '-1', MeshSer, SundB); все типы бутылок ХЗ может не в тему конечно но тогда стоит более подробно описать потребность. |
Author: | Zeppelin [ 2009-12-14 15:53:08 ] |
Post subject: | |
Mirage wrote: Я мельком проходил Может не ухватил мысль но у меня например сортировка лута содержит более 700 итемов. все работает в считанные секунды.
вот такая зафитушка: Code: Loot(0xF06, 0xF0D, '-1', MeshSer, SundB); все типы бутылок ХЗ может не в тему конечно но тогда стоит более подробно описать потребность. Да, не в тему немного.. ) Я уже разобрался с проблемой( к моменту твоего первого поста тут).. Собственно, выберу 1 из 3 вариантов (файл, строка или функция, или еще чтонить придумаю ![]() ![]() |
Page 1 of 1 | All times are UTC+02:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |