Переменная и работа с таблицами

caing

Известный
Автор темы
43
6
Версия MoonLoader
.026-beta
Есть несколько таблиц, например вот таких
Lua:
Imena = {
    "Vasya",
    "Dima",
    "Sasha",
    "Petya",
  }

  Mashini = {
    "Sultan",
    "Infernus",
    "Walton",
  }

  Goroda = {
    "Moskva",
    "Kiev",
    "Minsk",
  }

  Chisla = {
    14,
    13,
    88,
    37,
  }

Есть некий код (сути не играет какой), в котором я получаю значение для некоторой переменной peremennaya и оно равно одному из названий таблиц выше.

В итоге мне нужно вывести одно из значений из таблицы, название которое равно той самой переменной peremennaya

Т.е., к примеру, выполняя некий код у меня получилось, что значение peremennaya = Mashini. Дале я хочу получить значение №2 из таблицы под этим названием.
Lua:
print(peremennaya[2])
Должно вывести Infernus, но выводит nil, т.к. скрипт думает, что я достаю значение из таблицы с названием peremennaya, а не Mashini.

Следовательно я делаю что-то не так, кто подскажет как сделать правильно?
 

danywa

Активный
358
50
Есть несколько таблиц, например вот таких
Lua:
Imena = {
    "Vasya",
    "Dima",
    "Sasha",
    "Petya",
  }

  Mashini = {
    "Sultan",
    "Infernus",
    "Walton",
  }

  Goroda = {
    "Moskva",
    "Kiev",
    "Minsk",
  }

  Chisla = {
    14,
    13,
    88,
    37,
  }

Есть некий код (сути не играет какой), в котором я получаю значение для некоторой переменной peremennaya и оно равно одному из названий таблиц выше.

В итоге мне нужно вывести одно из значений из таблицы, название которое равно той самой переменной peremennaya

Т.е., к примеру, выполняя некий код у меня получилось, что значение peremennaya = Mashini. Дале я хочу получить значение №2 из таблицы под этим названием.
Lua:
print(peremennaya[2])
Должно вывести Infernus, но выводит nil, т.к. скрипт думает, что я достаю значение из таблицы с названием peremennaya, а не Mashini.

Следовательно я делаю что-то не так, кто подскажет как сделать правильно?
Lua:
print(Mashini[2])
 

Rei

Известный
Друг
1,616
1,670
всё пашет же. если ты присваиваешь строку, то используй вложенные таблицы и не вводи людей в заблуждение
мб можно еще через _G попробовать
 

Вложения

  • 1612469466286.png
    1612469466286.png
    15.4 KB · Просмотры: 85
  • Нравится
Реакции: caing

danywa

Активный
358
50
всё пашет же. если ты присваиваешь строку, то используй вложенные таблицы и не вводи людей в заблуждение
мб можно еще через _G попробовать
а есть ли смысл вообще этих действий если массив уже есть,то зачем его название менять?
 

caing

Известный
Автор темы
43
6
Фейспалм чел, ты явно не читал тему. У меня выполняется некий код и переменная всегда получается разная.
всё пашет же. если ты присваиваешь строку, то используй вложенные таблицы и не вводи людей в заблуждение
мб можно еще через _G попробовать
Странно... Может я слепой или чёт не так сделал, завтра все еще раз перепроверю.
 

caing

Известный
Автор темы
43
6
всё пашет же. если ты присваиваешь строку, то используй вложенные таблицы и не вводи людей в заблуждение
мб можно еще через _G попробовать
Да, действительно, в том виде, что на скрине код работает, но вот в чем оказалась загвоздка.
Та самая переменная у меня при выполнении кода берет значение также из другой таблицы, по итогу выводит nil.
Lua:
Imena = {
    "Vasya",
    "Dima",
    "Sasha",
    "Petya",
  }

  Mashini = {
    "Sultan",
    "Infernus",
    "Walton",
  }

  Goroda = {
    "Moskva",
    "Kiev",
    "Minsk",
  }

  Chisla = {
    14,
    13,
    88,
    37,
  }

  tablici = {
      "Imena",
      "Mashini",
      "Goroda",
      "Chisla",
  }

    
    val = tablici[4]
    print(val[1])

1612539331964.png
 

Rei

Известный
Друг
1,616
1,670
Да, действительно, в том виде, что на скрине код работает, но вот в чем оказалась загвоздка.
Та самая переменная у меня при выполнении кода берет значение также из другой таблицы, по итогу выводит nil.
Lua:
Imena = {
    "Vasya",
    "Dima",
    "Sasha",
    "Petya",
  }

  Mashini = {
    "Sultan",
    "Infernus",
    "Walton",
  }

  Goroda = {
    "Moskva",
    "Kiev",
    "Minsk",
  }

  Chisla = {
    14,
    13,
    88,
    37,
  }

  tablici = {
      "Imena",
      "Mashini",
      "Goroda",
      "Chisla",
  }

   
    val = tablici[4]
    print(val[1])

Посмотреть вложение 85300
print(val)
 

caing

Известный
Автор темы
43
6
Не, не то.
Проблему решил, тему можно закрывать, нужно было убрать кавычки)

Lua:
Imena = {
    "Vasya",
    "Dima",
    "Sasha",
    "Petya",
  }

  Mashini = {
    "Sultan",
    "Infernus",
    "Walton",
  }

  Goroda = {
    "Moskva",
    "Kiev",
    "Minsk",
  }

  Chisla = {
    14,
    13,
    88,
    37,
  }

  tablici = {
      "Imena",
      "Mashini",
      "Goroda",
      "Chisla",
  }

    
    val = tablici[4]
    print(val[1])