현재 내가하려고하는 것은 person_records (값)를 보유하는 전자 메일 주소 (키)의 테이블을 만드는 것입니다. person_record가 6 개 정도를 저장하고있는 곳. 내가 쓴lua Hashtables, 테이블 인덱스는 nil입니까?
random_record = split(line, ",")
person_record = {first_name = random_record[1], last_name = random_record[2], email_address = random_record[3], street_address = random_record[4], city = random_record[5], state = random_record[6]}
email_table[person_record.email_address] = person_record
: 내가 갖는 문제는 내가 불평과 테이블 인덱스가 전무하다라는 테이블에 키와 이메일 주소를 할당 할 때 ... 이것은 내가 지금까지 가지고있는 점이다 기본적으로 입력 줄을 사용하여 6 개의 쉼표로 구분 된 값을 추출하여 테이블 (random_record)에 저장합니다.
email_table [person_record.email_address] = person_record를 말하려고하면 오류가 발생합니다. 하지만 person_record.email_address를 출력 할 때 그 문자는 nil이 아니므로 저장 한 문자열을 인쇄합니다. 너무 혼란 스럽습니다.
function split(str, pat)
local t = {} -- NOTE: use {n = 0} in Lua-5.0
local fpat = "(.-)" .. pat
local last_end = 1
local s, e, cap = str:find(fpat, 1)
while s do
if s ~= 1 or cap ~= "" then
table.insert(t,cap)
end
last_end = e+1
s, e, cap = str:find(fpat, last_end)
end
if last_end <= #str then
cap = str:sub(last_end)
table.insert(t, cap)
end
return t
end
정확한 오류 메시지를 게시 할 수 있습니까? –
불행히도 정확한 오류 메시지는 다음과 같습니다. ( "테이블 인덱스는 무효" – cj1098