[解決済み] luaテーブルのエントリーをキーで削除する方法は?
2022-03-10 09:01:46
質問
私はハッシュマップとして使用するLuaテーブルを持っています、すなわち、文字列のキーを持つ。
local map = { foo = 1, bar = 2 }
このテーブルのキーで特定される要素を "pop" したいのです。このテーブルには
table.remove()
メソッドがありますが、これは削除する要素のインデックス (つまり数字) を取るだけで、一般的なキーを取ることはできません。そこで
table.remove(map, 'foo')
で、これをどう実装したかというと.
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
何か良い方法はないでしょうか?
どのように解決するのですか?
いいえ、キーの値を
nil
は、テーブルのハッシュマップ部分から項目を削除する方法として認められています。あなたがやっていることは標準的なことです。しかし、私は
table.remove()
- デフォルトの table.remove() の機能にはインデックスのリナンバリングが含まれており、オーバーライドしてもそれは行われません。もしこの関数を
table
関数セットであれば、おそらく次のような名前にするでしょう。
table.removekey()
といった具合です。
関連
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】<eof>は'end'の近くで期待される。
-
[解決済み] nil と文字列の連結を試みる Roblox
-
[解決済み] "Unable to cast value to Object" エラーメッセージ
-
[解決済み] Luaスクリプトのメモリ使用量を制限する?
-
[解決済み] Luaにおけるmath.random()とmath.randomseed()の違いについて
-
[解決済み] トーチ[cpuType]の文法説明
-
lua loadlib 関数がグローバルな 'loadlib' (nil 値) を呼び出そうとする
-
[解決済み] <' の近くに予期しない記号がある
-
[解決済み] Luaでテーブルが要素を含んでいるかどうかを確認するには?
-
[解決済み] luaテーブルのエントリーをキーで削除する方法は?