首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何评估传递给` `parenscript:ps`宏的代码?

如何评估传递给` `parenscript:ps`宏的代码?
EN

Stack Overflow用户
提问于 2020-09-16 23:36:06
回答 2查看 50关注 0票数 1

如何评估传递到Parenscript中的ps宏的代码?

代码语言:javascript
复制
(let ((x 1))
  (format nil "~a" (parenscript:ps x))) 
;; => "x;" but I would like "1;"

我知道ps是一个宏,这是不求值的原因,但是如何才能将代码求值以传递给ps宏呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-17 15:05:51

使用ps:lisp的示例

代码语言:javascript
复制
(let ((x 1))
  (format nil "~a" (ps:ps (ps:lisp x))))
"1;"

它在文档的第一部分进行了介绍:https://common-lisp.net/project/parenscript/reference.html#section-ps-compiler

票数 2
EN

Stack Overflow用户

发布于 2020-09-17 00:06:38

我明白了:

代码语言:javascript
复制
(defmacro lisp-to-js (lisp)
  (eval ``(parenscript:ps ,,lisp)))
(let ((x 1))
  (format nil "~a" (lisp-to-js x)))
;; => "1;"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63923472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档