내 컴퓨터에 저장된 파일에서 루아 프로그램을 읽으려고합니다. 나는이 코드를 사용하고 있습니다 : 나는 스크립트를 실행할 때, 그러나 그것은보고, 내 원래의 문제에 대한 해결책을 발견루아에서 파일을 읽을 때 오류가 발생했습니다
lua: io.lua:3: attempt to index local 'file' (a nil value)
stack traceback:
io.lua:3: in main chunk
[C]: ?
exit code: 1
: 나는 그것을 실행하려고하면
function readFile(file)
local file = io.open(file,"rb")
local content = file:read("*all")
file:close()
return content
을,이 오류가 발생합니다 변수 '상수'는 nil입니다.
입력 :
function readFile(filename)
local file = io.open(filename,"rb")
local content = file:read("*a")
file:close()
return content
end
readFile("test.txt")
print(content)
출력 :
lua -e "io.stdout:setvbuf 'no'" "io.lua"
nil
Exit code: 0
당신은 실제로 함수에 파일 이름을 통과 했습니까? –
세 번째 줄은'file : read ("* a")'btw 여야합니다. – greatwolf
@greatwolf 사실 이것은 중요하지 않습니다. 루아는''a ''로 시작하는 단어를 받아 들일 것입니다; 예를 들어 루아 5.2.2 소스, 파일'liolib.c', 라인 443 : 문자열의 두 번째 문자 만 사용하는'switch'가 있습니다. 물론 이것은 구현 세부 사항이며 사용자는이를 신뢰할 수는 없지만 오류의 원인이되어서는 안됩니다. –