0
如何使用eval在not null詞法環境中評估一些lisp代碼?我需要此功能才能正確插入功能。eval的not null詞法環境
如何使用eval在not null詞法環境中評估一些lisp代碼?我需要此功能才能正確插入功能。eval的not null詞法環境
如果您的環境模擬像那些let
發現綁定:
((x 3) (y 2))
...那麼你就可以用這些綁定到位評估任何形式f
,就像這樣:
(eval `(let ,e ,f))
這是最簡單的情況,但您可以輕鬆地將數據轉換爲適合該語法。如果需要,您還可以綁定函數,宏等。
請注意,如果您在運行時需要值,那麼動態綁定可能更好。您可以使用哈希表等,但請注意,也有鮮爲人知的PROGV
特殊的運算符:
在其他方面,寫作嵌入的Lisp語言的口譯時progv是有用的;它提供了綁定動態變量的機制的句柄。
這是不可能的,但是你也許應該改變你的問題到實際的問題,而不是你的問題,因爲你的選擇的解決方案,因爲這氣味像XY問題。 – Sylwester
好的,謝謝,實際上,我只是需要確保沒有辦法如何做到這一點。實際上,我決定發送值而不是訪問環境的哈希表。 – Seraph