2017-11-30 3 views
0

색인 및 x 값을 가져오고 싶습니다. gmatch 함수에서, 나는이 코드에서 실패한 문자입니다. 나는 가치와 색인을 얻고 싶다. 이것으로부터 어떤 해결책이 있습니까?루아에서 색인 및 값 얻기

val[1] = 24 
fx = {} 

for i, x in response_body[1]:gmatch([["(%w+)lId"%s*:%s*(%d+)]]) do 
fc[i] = x 
print(x) 
end 
/* x prints 14 
      18 
      23 */ 

if (val[1] ~= fc[1] and val[1] ~= fc[2] and val[1] ~= fc[3]) then 
val[1] = fc[1] 

else 
val[1] = val[1] 
end 
+1

'fc [i] = tonumber (x)' –

답변

0

string.gmatch은 문자열을 반환합니다. 따라서 ix은 물론 코드와 일치하는 문자열이므로 코드의 문자열입니다.

f[1]은와 동일하지 않습니다.

그래서 코드에서 fc[1] 등은 동일하지 24

당신은 number 값으로 string 변환 tonumber을 사용할 수 있습니다 따라서 nil 값이며. 그러나 일치하는 영문자와 숫자의 조합은 반드시 %w으로 변환해야만 숫자로 변환 될 수있는 것은 아닙니다. nil을 테이블 인덱스로 사용하지 않으면 오류가 발생합니다.