在lua中,是否可以序列化函數(不帶upvalues)並將它們存儲起來而不使用LOADSTRING?Lua - 序列化沒有加載字符串的函數?
0
A
回答
2
您可以序列化並存儲它們,根本不需要loadstring
- 使用string.dump
。如果您想將它們變回原狀,您只需要loadstring
。
如果您以後需要它重新使用實際功能(而不是用於其他一些簡單目的,比如比較),您仍然需要訪問至少字符串版本的loadstring
,因爲這是唯一允許您評估在飛行中的Lua來源。如果你有它,你可以嘗試: 1)如果你有訪問權限,修改Lua引擎本身來保存函數定義的源代碼。 2)將Lua字節碼寫入Lua中的Lua源代碼轉換器。 Lua的簡單虛擬機並不像聽起來那麼困難。
如果您完全不能訪問loadstring
,您可以嘗試在Lua中編寫Lua VM。這比一個簡單的轉換器更難,但仍然非常可行。
+0
嗯嗯..感謝您的詳細解答! 寫一個虛擬機是超出我的,不值得肯定! 無論如何,謝謝! – SatheeshJM
相關問題
- 1. 沒有字符串參數的構造函數/工廠方法來反序列化字符串值('')
- 2. 帶參數列表的字符串中的Lua函數調用
- 3. lua沒有在做字符串
- 4. Spring XML - 沒有字符串參數構造函數/工廠方法來反序列化字符串值
- 5. 用C++ Lua函數返回字符串
- 6. 從字符串創建Lua函數
- 7. 序列化字符串的
- 8. 打字稿字符串文字類型沒有函數重載
- 9. 序列化Lua表,包括純粹的Lua函數?
- 10. 從lua加載字符串的數組C++/SDL
- 11. 有沒有可以將字符串變成散列的函數?
- 12. 序列化字符串中的偏移錯誤沒有意義
- 13. 序列化與pyyaml沒有省略號的字符串
- 14. 原型序列化返回函數而不是序列化字符串
- 15. 序列化TChan字符串
- 16. 序列化字符串C
- 17. 反序列化字符串
- 18. python序列化字符串
- 19. 反序列化字符串數組WP7
- 20. 加載字符串數組中字符串的有效地址?
- 21. 序列化/反序列化字典<字符串,字符串>到XML
- 22. 讀取字符串和加載字符串之間是否有clojure函數?
- 23. GSON反序列化字符串或字符串數組
- 24. 將JSON字符串反序列化爲字符串數組
- 25. 將JSON字符串反序列化爲字符串數組
- 26. Python字符串匹配(沒有字符串操作函數)
- 27. lua從函數名字符串中調用函數
- 28. 在lua中以格式化字符串
- 29. Lua:加載第二個字符串後無法獲取字段;
- 30. 美化PHP序列化字符串
你可以給你更多的信息,你想要做什麼?你的意思是以某種方式序列化它們,以便以後不需要使用loadtring?因爲你會使用string.dump來序列化函數。 –
我無法使用loadstring作爲我的lua引擎阻止其使用。 那麼現在可以存儲函數供以後使用嗎? – SatheeshJM