Это одновременно и простой и сложный вопрос. Таблицы в луа это ссылочный объект.
Т.е. запись my_array ={} создает новый объект - объявляет и инициализирует. В переменной будет новая ссылка, а старая безвозвратно утеряна, и очищена сборщиком мусора, если на нее не было больше ссылок.
Поэтому, если вопрос: как очистить существующий объект, то ответ - пройтись циклом и присвоить nil для ключей, индексов.А запись my_array ={} "как бы" очищает, да. Но при этом будет новая ссылка и если есть блоки кода, хранящие ссылку на my_array, то они не увидят новую, без повторного присвоения.