[解決済み] Luaテーブルのエントリ数を取得する方法は?
2022-04-23 04:55:43
質問
しかし、なぜか答えが見つからない。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"
の数を求めるにはどうすればよいのでしょうか? すべて を数えることなく入力することができますか?
解決方法は?
質問ですでに解決しています -- 唯一の方法は、テーブル全体を
pairs(..)
.
function tablelength(T)
local count = 0
for _ in pairs(T) do count = count + 1 end
return count
end
また、"#"演算子の定義は、もう少し複雑であることに注意してください。この表を取り上げて説明しましょう。
t = {1,2,3}
t[5] = 1
t[9] = 1
マニュアルによると
いずれかの
3, 5, 9 は
#t
. 唯一まともな使い方は、nil 値のない連続した 1 つの部分の配列です。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン