правильно ли я понимаю следующий код? - PullRequest
0 голосов
/ 06 ноября 2019

Предположим, у меня есть файл с именем myFileName.lua, который содержит следующий код.

function Set(source)
  set = {}
  if source then
    for i,v in ipairs(source) do
      set[v] = true
    end
  end
  return set
end

return Set

Насколько я понимаю, источником является структура таблицы. if source then означает, что если таблица source не пуста, то сделать что-то. Первый возвратный набор означает возврат таблицы, установленной как возвращаемое значение функции Set. Второй возврат Set означает, возвращая функцию Set в качестве возвращаемого значения этого файла myFileName.lua.

Затем в файле main.lua у меня есть Set = require ('lib / myFileName')

Это означает, что функция Set в файле myFile.lua возвращается и получает имяУстановите, чтобы я мог использовать его в файле main.lua. Это верно? Любые комментарии с благодарностью.

1 Ответ

0 голосов
/ 09 ноября 2019

Внутри файла Set - это функция. set это таблица. Линия if source then просто убедится, что source не nil или false. поэтому, даже если источник {} пуст, он будет введен.

Все остальное верно, если требуется, чтобы файл из main предоставил вам доступ к функции Set.

Дляболее подробную информацию вы можете читать дальше о логических выражениях в Lua здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...