변수에 테이블 이름을 할당하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/271406

  •  06-07-2019
  •  | 
  •  

문제

LUA에는 일부 데이터가있는 테이블이 있습니다.

sometable = { 
    {name = "bob", something = "foo"},
    {name = "greg", something = "bar"}
}

그런 다음 테이블을 반복하고 각 이름에 숫자를 변수로 할당하고 싶습니다. Lua를 처음 접하고 이렇게 시도했습니다.

for i,t in ipairs(sometable) do
    t.name = i
end

그런 다음 Print ( "Name1", Bob)가 나에게 이름 1 = 1을 줄 것이라고 가정했습니다. 그래서 나는 어떤 종류의 영혼이 내가 어떻게 바보인지 말해 줄 때까지 추악한 정적 변수 목록으로 돌아 왔습니다.

도움이 되었습니까?

해결책

undable = {{name = "bob", something = "foo"}, {name = "greg", something = "bar"}}

I의 경우, t에서 t [t.name] = i end.

i, i, t in ipairs (someable)는 j, u in pairs (t) do print (j, u) 끝 끝

밥의 이름

뭔가 foo

밥 1

그렉 2

뭔가 바

이름 Greg

약간의 반환 [1] .BOB

1>

다른 팁

그만큼 ipairs 기능은 수치 적으로 인덱싱 된 테이블을 통해서만 오름차순 순서로 반복합니다.

사용하려는 것은 쌍 기능입니다. 어떤 유형이든 테이블의 모든 키를 반복합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top