의 테이블에 추가 않습니다. 이 작업을 수행하는 쉬운 방법이 있습니까?어떻게 내가 동등한를 알아 내려고 노력하고있어 루아
답변
기본 라이브러리의 table
섹션에있는 insert
함수를 찾고 있습니다. #
연산자는리스트의 길이를 계산하기 때문에
foo = {}
table.insert(foo, "bar")
table.insert(foo, "baz")
Ah 그래서 : foo = {}; table.insert (foo, "bar"); table.insert (foo, "baz") – drewish
젠장, 내 대답을 타이핑하는 동안'insert' 함수를 사용하여 대답했다. *큰 마음은 다 비슷 하네*. :-) – cybermonkey
정확합니다. 세미콜론도 필요 없지만 원하는 경우 em을 사용할 수 있습니다. – rsethc
foo = {}
foo[#foo+1]="bar"
foo[#foo+1]="baz"
이 작동합니다. 빈 목록 등 길이가 0을 가지고 당신이 루아 5.3+를 사용하는 경우, 당신은 거의 정확하게 당신이 원하는 무엇을 할 수
:
foo = {}
setmetatable(foo, { __shl = function (t,v) t[#t+1]=v end })
_= foo << "bar"
_= foo << "baz"
표현 루아에서 진술하지 않으며 그들이해야 어떻게 든 사용됩니다.
table.insert(a,"b")
이것은 당신이 때문에 메모리 및 시간과 같은 귀중한 자원을 절약 전체 테이블을 반복 할 필요가 저장합니다
당신의 방법이 작동하는 이유를 확장하십시오. – cybermonkey
나는 그것이 보이는 방식으로 사랑에 빠진 것이 아니라 그것이 효과적이라는 것을 알고 기쁘게 생각합니다. – drewish
'table.insert'보다 약간 빠릅니다. – Tim
개인적으로 table.insert
기능의 사용을 만들 것입니다.
전체 문서는 http://www.lua.org/manual/5.2/ – rsethc
에 있습니다. 정말 도움이됩니다. 구글은 나를 기본적으로 쓸모없는 http://www.lua.org/pil/2.5.html쪽으로 향하게했다. – drewish