簡體   English   中英

如何將 gensym 傳遞給常用 lisp 中的函數名

[英]how to pass a gensym to a function name in common lisp

我正在使用 Lucerne 構建一個 api,並嘗試根據列表(它們是非常簡單的端點)生成這些 api。 問題是(gensym)使用的視圖只是函數,所以如果我在運行時將(gensym)傳遞給宏,則該視圖函數的名稱只是設置為(gensym) (或者它失敗了,不記得是哪個)。

我想在一個宏中動態命名一組這些視圖函數,該宏將處於某種循環中,每次運行宏擴展的代碼時,函數都有一個新名稱(所以如果我只使用每次運行宏時的標准gensym每個函數將始終具有相同的名稱,並相互覆蓋)。 有沒有辦法做到這一點?

您可能希望使用intern創建“公共”符號(用戶將按名稱調用)和“私有”符號(存儲在某處)的make-symbol

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM