Перейти к содержимому
  • 0
Laine_prikol

Файловая система

Вопрос

Как сделать так чтобы каждый файл был отдельной переменной

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Ну например есть папка 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как сделать так чтобы каждый файл был отдельной переменной

 

Тут требуется развёрнутое пояснение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут требуется развёрнутое пояснение.

Ну например есть папка extra и в ней например лежат файлы

1. boot.lua

2. miner.lua

3. test.lua

4. code.lua

И надо чтобы каждый файл в папке был отдельной переменной

Другими словами мне надо разделить на переменные команду: ls

Изменено пользователем Laine_prikol

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как файл может быть переменной?

Даже если переменая может хранить имя, дескриптор открытого файла или даже его содержимое, сам файл в переменную не превращается.

 

Давай попробуем зайти с другой стороны: зачем может потребоваться превращать файл в переменную?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как файл может быть переменной?

Даже если переменая может хранить имя, дескриптор открытого файла или даже его содержимое, сам файл в переменную не превращается.

 

Давай попробуем зайти с другой стороны: зачем может потребоваться превращать файл в переменную?

имя файла, а не сам файл

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

имя файла, а не сам файл

 

Ты попробовал мой пример? Там идёт как раз получение списка файлов. В виде названий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты попробовал мой пример? Там идёт как раз получение списка файлов. В виде названий.

Да, пробовал но это не совсем то, тут сразу выводит весь список файлов, а мне надо чтобы каждый файл был отдельной переменной 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, пробовал но это не совсем то, тут сразу выводит весь список файлов, а мне надо чтобы каждый файл был отдельной переменной 

 

Так в чём проблема?

Видишь этот принт в цикле? Он распечатывает временную переменную file. В ней лежит как раз то, что тебе нужно. Название очередного файла.

Всё что от тебя требуется - куда-то его положить. Например в другую переменную. Или сложить в таблицу.

И будет именно то, что ты хочешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

        Вот так?

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)

        UAOcKb7.png

 

r0idiZ4.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...