我最近问了一个关于sbcl的question,其中一个回复提到了我不知道的两个功能:#'sb-ext:string-to-octets
和#'sb-ext:octets-to-string
。除了回答我的问题之外,这还告诉我,我应该浏览包sb-ext的外部符号,看看还有什么用处。
我的问题(与sbcl相关)是这样的:除了浏览包sb-ext的外部符号之外,是否有一些其他手册描述了包sb-ext和其他添加(我试图避免)单词"扩展"因为它是一个特定的技术术语)到sbcl?例如#'sb-ext:string-to-octets
和#'sb-ext:octets-to-string
未在sbcl manual中讨论。
答案 0 :(得分:1)
正如@svante在另一个问题中的一个答案中指出的那样,对于类似的事情,我更喜欢使用另一个用于postabiliyt的libray,并且通常记录得像babel。
通常,如果符号位于ansi常见的lisp中,则检查常见的lisp中的doc,您应该检查clhs sly和slime是否有一个优秀的工具。
通常情况如下:
id = 2
describe函数总能为您提供有关符号的相关信息,然后您可以使用狡猾的来源或使用CL-USER> (documentation 'sb-ext:octets-to-string 'function)
NIL
CL-USER> (describe 'sb-ext:octets-to-string)
SB-EXT:OCTETS-TO-STRING
[symbol]
OCTETS-TO-STRING names a compiled function:
Lambda-list: (VECTOR &KEY (EXTERNAL-FORMAT DEFAULT) (START 0) END)
Derived type: (FUNCTION
((VECTOR (UNSIGNED-BYTE 8)) &KEY (:EXTERNAL-FORMAT T)
(:START T) (:END T))
*)
Source file: SYS:SRC;CODE;OCTETS.LISP
; No values
M-.
最后,您可以访问teh存储库来读取测试,在这种情况下,转到github SBCL repo并查找此函数,您可以阅读源代码测试,以便轻松使用该函数:
https://github.com/sbcl/sbcl/search?utf8=%E2%9C%93&q=string-to-octets&type=
像这样:https://github.com/sbcl/sbcl/blob/622c9daf9bb41ef9ad4b8a063c62c4baf59a1c1a/tests/octets.pure.lisp