Ruby有這個非常有趣的功能,當你用'Class.new'創建一個類並將其賦值爲一個常量(大寫)時,語言「神奇地」設置類的名稱它匹配常量。lua - 捕獲變量賦值
# This is ruby code
MyRubyClass = Class.new(SuperClass)
puts MyRubyClass.name # "MyRubyClass"
似乎ruby「捕獲」了賦值,並在匿名類中插入了名字。
我想知道是否有辦法在Lua中做類似的事情。
我實現我自己的類系統,但它的工作我必須兩次指定同一個名字:
-- This is Lua code
MyLuaClass = class('MyLuaClass', SuperClass)
print(MyLuaClass.name) -- MyLuaClass
我想擺脫'MyLuaClass'
字符串。有沒有辦法在Lua中做到這一點?
這看起來可能,但效率不高;每次完成全局任務時,我都必須調用lua函數;如果將全球任務保持在最低限度,這可能不是什麼大問題。我會試一試,謝謝你的提示。 – kikito 2010-07-06 06:36:38
調用Lua函數的代價並不是很大。如果您有性能問題,請轉到C或使用LuaJIT。一些函數調用,特別是在這種設置工作中,可以忽略不計。 – Puppy 2010-07-06 09:45:20
這是最好的方法。謝謝! – kikito 2010-07-11 22:14:13