"Google에 알려주세요"라는 질문처럼 들리지만 어떻게 든 답을 찾을 수 없습니다. Lua #
연산자는 정수 키가있는 항목 만 계산하므로 table.getn
다음 과 같습니다.
tbl = {}
tbl["test"] = 47
tbl[1] = 48
print(#tbl, table.getn(tbl)) -- prints "1 1"
count = 0
for _ in pairs(tbl) do count = count + 1 end
print(count) -- prints "2"
항목을 세지 않고 모든 항목 수를 얻으려면 어떻게합니까 ?
#
운영자는 잘못 정의되어 있습니다. 이것은 매우 쉽게 고칠 수 있습니다. 첫째, #
결정 론적이며, 둘째, 새로운 연산자 나 함수를 도입하여 과감한 수를 얻는 것입니다. 이야기의 끝 ... 왜 그렇게 고집 스러워야합니까? :)
dictionary[value] = #dictionary + 1
,#
의 수를 나타내는 모든 개체를. 무엇 나는 당신이 왜 궁금 것은 하지 않는 이 원하는 : 모두 제정신의 # (kaizer.se 의해 답변을 참조) 사용의 경우, 모든 객체의 수는 정확하게 이미 무엇 # 반환 같음; # 카운트를 모든 것을 엄격하게 개선하는 것 같습니다. 물론 나는 루아 초보자이며 요점을 놓칠 수 있습니다.