我正在處理一個處理大量對象和數據的程序。因爲我可以通過爲我的應用程序提供某種'API'來注入操作。由於應用程序本身對對象等進行管理,我不知道如何實現。例如,Unity3D和Panda3D引擎允許使用各種語言,例如ECMA或Python進行腳本編寫。我不是在尋找一種'遊戲'腳本語言來投入,而是指出如何支持各種腳本語言。爲動態OO程序實現現有的腳本語言
爲了討論起見,我們假設我的程序具有類Cube的對象。立方體具有諸如旋轉,移動,變換和諸如顏色,中心,大小等屬性的類方法。現在,我想讓我的用戶可以使用例如JavaScript來操作對象。然而,我的'核心'程序是用Ruby編寫的。
- 我需要編寫一個整體包,從頭開始評估用戶代碼及其語法(如實現自己的JavaScript版本)嗎?還是有現有的軟件包,框架,框架,寶石等?
- 我該如何實現安全性,以便僅將腳本語言賦予允許操作的類(例如,將類標記爲「可操作」的屬性)。
我一直想知道企業應用程序如何做到這一點(以及遊戲引擎......),所以感謝您的幫助和反饋。
大聲笑,我同意。我更喜歡Ruby的一切。然而,我從經驗中知道,學習面嚮對象語言並不是在24小時內獲得專業知識的東西。我的目標受衆很可能已經知道JavaScript。謝謝您的回答。它非常具有描述性和細節性。 – Shyam 2010-06-22 14:34:29
我以爲人們喜歡Ruby,因爲你可以在其中創建有限的DSL(特定領域的語言)。你可以讓腳本寫在特定於你的應用程序的Ruby的有限子集中嗎? – FrustratedWithFormsDesigner 2010-06-22 15:21:48
其實我喜歡Ruby,因爲代碼很有意義。它更像是我想擴展應用程序的一部分,用戶可以在應用程序中進行調整和集成。由於這是一個普遍的問題,我不會限制任何東西。 – Shyam 2010-06-22 18:13:07