gpt4 book ai didi

json - Lisp 宏 - 如何正确输入类型

转载 作者:太空宇宙 更新时间:2023-11-03 18:55:19 25 4
gpt4 key购买 nike

我是宏的新手,正在努力满足 JSON-RPC 宏的要求。

它要求输入类型,但我不知道如何正确输入。

(defmacro defun-json-rpc (name type lambda-list &body body)
"Defines a function and registers it as a json-rpc target."
(unless (json-rpc-encoding-p type)
(error "New version of defun-json-rpc requires a TYPE argument"))
`(progn
(defun ,name ,lambda-list ,@body)
(export-as-json-rpc ',name (lisp-to-camel-case (symbol-name ',name)) ,type)))

我找到的一段示例代码如下,但它不包含类型参数:

(json-rpc:defun-json-rpc add (x y)
(+ x y))

如何输入类型?

最佳答案

找到了。它是一个 JSON-RPC 特定的关键字,而不是 lisp 类型。我只需要查看 json-rpc-encoding-p 就可以看到只有 3 个关键字是有效的。

(defgeneric json-rpc-encoding-p (keyword)
(:documentation "Is KEYWORD a valid JSON-RPC value encoding?")
(:method (keyword)
"Default is no."
(declare (ignore keyword))
nil)
;;; built-in methods
(:method ((keyword (eql :guessing)))
t)
(:method ((keyword (eql :streaming)))
t)
(:method ((keyword (eql :explicit)))
t))

关于json - Lisp 宏 - 如何正确输入类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26920155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com