Желание использовать forEach мной, как раз обусловлено созданием более короткого и лаконичного кода.
Я правильно понял что цикл при запускe wb-rules создаст все функции типа:
actionlamp(lamp[0]);
motion_sensor(lamp[0]);
actionlamp(lamp[1]);
motion_sensor(lamp[1])
И будет держать их в памяти, и если сработает правило (например defineRule) относящееся только к:
actionlamp(lamp[0]);
То вызовется только эта функция, а не
Запустится весь цикл заново.
Извиняюсь за глупые вопросы, но не хочется увеличивать нагрузку и время выполнения кода из за “кривого” кода.
Количество элементов в массиве lamp будет около 100, функций в массиве functions 1-4.