Запись многострочных текстовых файлов в Lua
Я хотел бы знать, как лучше всего заставить мой скрипт записать что-то в файл (скажем text.txt
) таким образом, чтобы всегда добавлять разрыв строки в конце. Когда я добавляю текст, используя
file = io.open(test.txt, "a")
file:write("hello")
дважды, файл выглядит так:
hellohello
но я хочу, чтобы это выглядеть так:
hello
hello
2 ответов
В отличие от print
символ новой строки не добавляется автоматически при вызове io.write
, вы можете добавить его себе:
file:write("hello", "\n")
самый простой способ достичь этого - включить последовательность символов новой строки каждый раз, когда вы называете write
метод вот так: file:write("hello\n")
или так: file:write("hello", "\n")
. Таким образом, такой скрипт, как
file = io.open(test.txt, "a")
file:write("hello", "\n")
file:write("hello", "\n")
приведет к желаемому результату:
hello
hello
есть, однако, много других решений для этого (некоторые из них более элегантны, чем другие). Например, при выводе текста на Java существуют специальные методы, такие как BufferedWriter#newLine()
, который сделает то же самое в более чистом виде. Поэтому, если вы заинтересованы в другом способе достижения этого, я предлагаю вам прочитать документы Lua для аналогичных методов/решений.