簡體   English   中英

如何防止在 Luabind class 中創建新屬性?

[英]How do I prevent the creation of a new property in a Luabind class?

我正在使用Luabind將 C++ 類綁定到 Lua。 從 Lua 腳本中,我可以將任意屬性(鍵/值對)添加到代表我的類的表中,即使我從未告訴 Luabind 這些屬性存在:

cheese = Cheese()
cheese.type = "gouda"
cheese.age = 2
cheese.hippopotamus = "monkey" -- Oops! This member was not defined!

河馬線雖然荒謬,但執行時不會導致 Lua 錯誤。

如何防止這些新屬性? 我知道當只使用 Lua C API 時,這可以使用 __newindex 元方法來完成,但是有沒有辦法用 Luabind 做到這一點?

我不是根據經驗說話,但這里有一些來自 luabind-user 郵件列表的 email 線程:首先, 一個試圖完全按照你想要做的人的獨白 其次,來自 luabind 維護者的有點舊的(2009 年 11 月)email,指出目前無法提供自定義 __newindex 元方法,但計划在 1.0 中使用(當前版本是 0.9.something)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM