Здравствуйте, гость ( Вход | Регистрация )

> Имя переменной = имя массива, Получить все значения из одноименного массива
фонарик
сообщение 24.11.2020, 21:51
Сообщение #1


****

Apprentice
Сообщений: 162
Регистрация: 23.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.305



В переменную $var присваивается значение, которое соответствует имени массива. Обратиться к какому-либо значению одноименного массива можно просто %$var[1] А как, например, узнать размер одноименного массива, чтобы можно было в цикле перебрать все его значения? Подскажите пожалуйста.
Код
set $var vegetables

init_arr %fruits apple, orange, pineapple, banana
init_arr %vegetables potato, tomato, onion
init_arr %berry strawberry, raspberry, blueberry
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
фонарик
сообщение 5.4.2021, 15:12
Сообщение #2


****

Apprentice
Сообщений: 162
Регистрация: 23.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.305



Чтобы получить нужный тебе ответ, нужно задать правильный вопрос. С этим всегда сложно. Почистить весь кеш из головы, убрать все второстепенное, оставить самое важное. Сейчас я понял что задал неправильный вопрос.
Вот есть массивы
Код
local choice_1 = {'Раз', 'Два', 'Три'}
local choice_2 = {'Котик', 'Мишка', 'Тигрёнок'}

Как видно они отличаются цифровым номером. Допустим, есть код который возвращает число, например 1 или 2 в виде переменной
Код
local defaultNum = 2

Дальше мне нужно обратиться соответственно к массиву choice_2. Я пытался получить имя массива при помощи конкатенации
Код
local TmpChoice = "choice_" .. defaultNum
Теперь TmpChoice имеет правильное имя: choice_2. Но это не массив choice_2, а просто строковая переменная. А как получить доступ именно к массиву?

Да, DarkMaster по моему примеру на простых скриптах пилота говорил мне выше, что это неправильно когда имя массива динамическое. Но меня это не расстраивает, и на скриптинге пилота мне удалось разрешить этот вопрос. 8 пост в этой теме. А как сделать тоже самое на Lua ? eval тут не работает, он строки не превращает в одноимённые массивы (IMG:style_emoticons/default/sad.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
фонарик   Имя переменной = имя массива   24.11.2020, 21:51
DarkMaster   попробовал через eval - не прошло. Вообще фонарик,...   24.11.2020, 22:11
фонарик   lua я не осиляю, привык к обычным скриптам да и бы...   24.11.2020, 22:34
DarkMaster   Вот для этого и существуют деревья, а луа осваимва...   24.11.2020, 22:53
фонарик   Даа, спасибо вам в очередной раз DarkMaster за все...   25.11.2020, 15:17
FREEON   Сириус делал для поиска пути выхода из лабиринта. ...   25.11.2020, 17:24
DarkMaster   Из того, что описал фонарик, я могу сделать вывод,...   25.11.2020, 18:25
фонарик   Случайно как-то, методом тыка обнаружил возможност...   4.12.2020, 23:11
фонарик   А как на Lua решить подобную задачу? Волшебный eva...   5.4.2021, 13:24
Madeus   А как на Lua решить подобную задачу? Волшебный ev...   5.4.2021, 13:42
cirus   --lua log ("clear") log (...   5.4.2021, 13:47
DarkMaster   Как-то она появилась. Это одна из двух-трех закры...   5.4.2021, 14:13
Fors1k   --lua log"clear" choice = {} choice[1] ...   5.4.2021, 17:18
sutra   Наверное темповый вообще не нужен. local choice =...   5.4.2021, 17:30
фонарик   Аха, понял :) Ребят спасибо вам большое :thanks: ...   5.4.2021, 17:42
DarkMaster   На самом деле можно вообще свинячить. --lua log...   5.4.2021, 23:52


Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 13.9.2025, 9:57
Designed by Nickostyle