Луа: как я могу читать из списка чисел


У меня есть функция, которая делает всю магию за меня и управляет мотором.

Это сводит мое Программирование к одной строке...
Set_RPM_With_Acceleration_Value( 200, 15)

В приведенном примере двигатель будет вращаться до 200 оборотов в минуту при значении ускорения 15

Я проверяю stop/start/interrupt/restart возможности системы аппаратного и программного обеспечения.

Теперь я хочу выполнить тест с различными значениями, заданными функции; например,,,

Set_RPM_With_Acceleration_Value( 200, 15)
Set_RPM_With_Acceleration_Value(  50, 09)
Set_RPM_With_Acceleration_Value( 400, 20)
Set_RPM_With_Acceleration_Value( 500, 25)

Я хочу инкапсулировать это в цикл который...

  • считывает два числа (из таблицы ? Idunno, посоветуйте мне)
  • дает мне эти два числа в двух переменных
  • позвольте мне вызвать функцию, используя эти имена, а не жестко закодированные числа

Е. Г., где я в настоящее время делаю это...

Set_RPM_With_Acceleration_Value( 200, 15) 

Я хотел бы сделать это...

Set_RPM_With_Acceleration_Value( RPM_Value, Acceleration_Value)

Как мне настроить числа и как я могу читать из таблицы ?

Если уж на то пошло, является ли таблица правильным способом думать об этом ?

Делает существует ли в Луа такая вещь, как таблица таблиц ?

Это будет для автоматизированного тестирования машины. Мы делаем не хочет, чтобы человек задействованы на клавиатуре или мыши.

С другой стороны, мне очень желательно передать коду значения в таблице один раз, заранее, до запуска скрипта. Я хочу посмотреть, что происходит с различными комбинациями оборотов, ускорений, выпадений мощности и т. д.

1 2

1 ответ:

Попробуйте это:

V={
200, 15,
 50, 09,
400, 20,
500, 25,
}

for i=1,#V,2 do
    local RPM_Value = V[i]
    local Acceleration_Value = V[i+1]
    Set_RPM_With_Acceleration_Value(RPM_Value, Acceleration_Value)
end