Andrey26780 17 Жалоба Опубликовано 13 августа, 2016 Здравствуйте, гуру программирования, модераторы, игроки, гости. (нужное подчеркнуть) Стало мне вдруг надо написать программу, в коде которой требовалось бы прочитать файл. Использую такой код: sl = fs.open("бла-бла/бла-бла.txt", 'r') str = "" if(sl == nil) then gpu.setForeground(0xFF0000) term.write("FAIL: Не получается открыть файл для чтения.") gpu.setForeground(0xFFFFFF) while true do end end for symb in sl:read(1) do if(symb == '\n') then str = str + symb end end Вот только незадача: /mns.lua:28: attempt to call a field 'read' (a nil value) stack traceback: /mns.lua:28: in main chunk (...tail calls...) Почему так? ведь sl не равен nil а соответственно откуда взяться ошибке a nil value ? Прошу сильно не кидать в меня помидорами,так как не очень знаком с Lua. Лучше другие языки. ЗЫ: после того, что я привык, что в других языках для обозначения выражение1 не равно выражение2 надо писать vyrasheniye1 != vyrasheniye2 а в Lua - not(vyrasheniye1 == vyrasheniye2) Из-за этого я минут 15 не мог понять, в чём ошибка. Или есть что-то вроде !=, но пишется по-другому? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Wistaf 1 Жалоба Опубликовано 25 сентября, 2017 Не актуально. Тема закрыта. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты