1
나는 루아의 기본 프로젝트에서 일하고있다. 나는 (here으로 정의 된) IO
API를 사용하여 파일에서 데이터를 가져 오려고했지만 파일을 열어 핸들을 주면 함수 테이블을 반환하지 않는 것 같습니다.루아 함수 (IO API) 테이블을 생성하지
: 그것은
local unread = fs.list("email/"..from.."/")
local send = ""
for _,file in ipairs(unread) do
local handle = io.open(file,"r")
local text = handle:read("*a")
send = send .. text .. "\n"
handle.close()
fs.delete(file)
end
당신이 첫 번째 줄에 볼 수있는 fs
는 IO의 API, 나의 작업과 완벽하게 오류없이 라운드 전문 파일 시스템 래퍼, 아니다, 그래서 문제. 그러나 파일 (handle:read()
)을 읽으려고하면 "nil을 시도합니다."라는 오류가 발생합니다. 추적하면 handle
자체가 nil
인 것으로 나타났습니다. 어떤 아이디어?
'print (file)'을 사용하여 파일 이름이나 파일의 전체 경로인지 확인하십시오. – hjpotter92
@hjpotter92는'file'이 유효한 경로인지를 알려주므로'handle'은 파일을 읽을 수있는 권한이 있다고 가정 할 때 nil이 아니어야합니다. 경로가 부정확하거나 불완전하다면 (예를 들어'fs.list' 호출에서 주어진 경로와 관련이있다) 파일을 열려고 시도하기 전에'fs' 라이브러리를 수정하거나 올바른 절대 경로 나 상대 경로를 만들어야합니다. –
@ hjpotter92 그 아이디어가 마음에 들었습니다. 나는 내가 옳은 길을 가졌다 고 생각했지만 그것이 잘못되었을 때 그것을 망칠 수 있다는 것을 깨닫지 못했습니다. – ArtOfCode