我正在開發(fā)一個(gè)應(yīng)用程序,它允許用戶比較不同字符串比較算法的執(zhí)行情況。除了包含的幾種算法(包括Boyer-Moore、KMP和其他“傳統(tǒng)”算法)之外,我還希望允許用戶放入他們自己的算法(這些可以是他們自己的算法或?qū)ΜF(xiàn)有算法的修改)以比較它們。Go 中有沒有辦法從用戶那里獲取代碼(例如,從 HTML 文本區(qū)域)并執(zhí)行它?更具體地說,我想要以下特征:我提供了一個(gè)方法簽名,他們在方法中填寫他們想要的任何內(nèi)容。他們的代碼中的崩潰或語法錯(cuò)誤不應(yīng)導(dǎo)致我的整個(gè)程序崩潰。相反,它應(yīng)該允許我捕獲錯(cuò)誤并顯示錯(cuò)誤消息。(在這種情況下,我不擔(dān)心針對惡意代碼的安全性,因?yàn)橛脩糁粫谒麄冏约旱臋C(jī)器上執(zhí)行我的程序,所以安全是他們自己的責(zé)任。)如果無法使用 Go 本地執(zhí)行此操作,我愿意嵌入以下語言之一以用于比較函數(shù)(按優(yōu)先順序):JavaScript、Python、Ruby、C。有什么方法可以做任何事情嗎?那些?
- 0 回答
- 0 關(guān)注
- 177 瀏覽
添加回答
舉報(bào)
0/150
提交
取消