2
如果要判斷一個變量是一個功能,我用下面的方法確定變量是否爲函數的快速方法?
function isFunction(variable)
return type(variable) == "function"
end
據我所知,這是一個字符串比較。據我瞭解,字符串比較是相對較慢,我擔心這個函數可能是我的代碼中的一個瓶頸。有沒有一種成本較低的方法來確定變量是否是函數?
我希望有一個函數返回一個整數,而不是指示變量的類型。或者我可以用另一種方式問我的問題:type(var)
如何確定變量的類型?當然,每個變量都不能包含代表其類型的字符串,所以我猜測lua中有一些後端材料在調用type(var)
時查找字符串"function"
。
不確定你是否應該考慮你的軟件設計,如果你必須經常檢查變量是否是一個函數,以至於它是一個重要的瓶頸... – Piglet
老實說,不是我正在尋找的答案,但你是對。它讓我思考,我可能不需要一種快速的方式來檢查類型。爲了這個問題,我們如何假裝我要求檢查它是否是一個字符串;-) – gromit190
Aside; 「變量」應該是「價值」。變量不具有類型;只有值纔是值。值由表達式產生,當然,它可以像變量一樣簡單。 –