Laine_prikol 48 Опубликовано: 3 февраля, 2017 Как сделать так чтобы каждый файл был отдельной переменной Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 3 февраля, 2017 Ну например есть папка extra и в ней например лежат файлы 1. boot.lua 2. miner.lua 3. test.lua 4. code.lua И надо чтобы каждый файл в папке был отдельной переменной Тебе получить список файлов в каталоге? Это делается фунцией filesystem.list(path: string): function -> string or nil, string из Filesystem API. Пример: for file in filesystem.list("/home") do print(file) end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 3 февраля, 2017 Как сделать так чтобы каждый файл был отдельной переменной Тут требуется развёрнутое пояснение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Laine_prikol Автор вопроса 48 Опубликовано: 3 февраля, 2017 (изменено) Тут требуется развёрнутое пояснение. Ну например есть папка extra и в ней например лежат файлы 1. boot.lua 2. miner.lua 3. test.lua 4. code.lua И надо чтобы каждый файл в папке был отдельной переменной Другими словами мне надо разделить на переменные команду: ls Изменено 3 февраля, 2017 пользователем Laine_prikol Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 3 февраля, 2017 Как файл может быть переменной? Даже если переменая может хранить имя, дескриптор открытого файла или даже его содержимое, сам файл в переменную не превращается. Давай попробуем зайти с другой стороны: зачем может потребоваться превращать файл в переменную? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Laine_prikol Автор вопроса 48 Опубликовано: 3 февраля, 2017 Как файл может быть переменной? Даже если переменая может хранить имя, дескриптор открытого файла или даже его содержимое, сам файл в переменную не превращается. Давай попробуем зайти с другой стороны: зачем может потребоваться превращать файл в переменную? имя файла, а не сам файл Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 3 февраля, 2017 имя файла, а не сам файл Ты попробовал мой пример? Там идёт как раз получение списка файлов. В виде названий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Laine_prikol Автор вопроса 48 Опубликовано: 3 февраля, 2017 Ты попробовал мой пример? Там идёт как раз получение списка файлов. В виде названий. Да, пробовал но это не совсем то, тут сразу выводит весь список файлов, а мне надо чтобы каждый файл был отдельной переменной Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 3 февраля, 2017 Да, пробовал но это не совсем то, тут сразу выводит весь список файлов, а мне надо чтобы каждый файл был отдельной переменной Так в чём проблема? Видишь этот принт в цикле? Он распечатывает временную переменную file. В ней лежит как раз то, что тебе нужно. Название очередного файла. Всё что от тебя требуется - куда-то его положить. Например в другую переменную. Или сложить в таблицу. И будет именно то, что ты хочешь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Seryoga 184 Опубликовано: 4 февраля, 2017 Вот так? local function split(str, delimeter) local delimeter = string.byte(delimeter) local arr = {} local sub = {} for i = 1, #str do if str:byte(i) == delimeter then arr[#arr + 1] = table.concat(sub, "") sub = {} else sub[#sub + 1] = string.char(str:byte(i)) end end arr[#arr + 1] = table.concat(sub, "") return arr end local filepath = "C:/extra" local files = {} local visitor = io.popen('dir "'..filepath..'" /b') for filename in visitor:lines() do local varname = table.concat(split(filename, "."), "_") files[varname] = filename end visitor:close() print(files.file_lua) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Как сделать так чтобы каждый файл был отдельной переменной
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах