gpt4 book ai didi

common-lisp - Common Lisp apropos 和文档

转载 作者:行者123 更新时间:2023-12-02 05:42:29 25 4
gpt4 key购买 nike

我知道 Common Lisp REPL 提供的强大功能。我专门使用 SBCL 实现。但是,我不确定我的 REPL 设置是否正确,并且想知道如何从 REPL 中获得更多功能。

例如,我想找到计算机 2^3 = 8 的幂函数。这称为 powpower在许多其他语言中。所以我做了:

CL-USER> (apropos 'pow)
POW
POWER
:OP-POWER-EXT (bound)
:POWERPC (bound)
SB-IMPL::*INTEGER-READER-BASE-POWER* (bound)
SB-IMPL::*POWER-CACHE* (bound)
SB-IMPL::+POWER-CACHE-INTEGER-LENGTH-LIMIT+ (bound)
SB-IMPL::COMPUTE-POWERS
SB-IMPL::POWER
SB-IMPL::POWERS-FOR-BASE (fbound)
SB-INT:POWER-OF-TWO-CEILING (fbound)
SB-KERNEL:%POW (fbound)
SB-KERNEL::POWER
SB-KERNEL:SCRUB-POWER-CACHE (fbound)
; No value

我将如何查看这些函数的文档?在查看文档之前,我是否必须“导入”这些“库”中的任何一个?我经常发现文档丢失了,因为 REPL 会返回 nil.文档在哪里?例如我做了:
CL-USER> (documentation 'power 'function)

它刚刚返回 NIL但正如您从上面 apropos 给出的列表中看到的, power存在!

总结:
  • 我如何找到函数、数据类型、变量等的文档......(还有什么可以查找文档?)?
  • SB-IMPLSB-KERNEL已经导入的库?

  • 感谢所有的帮助!

    最佳答案

    了解有关 lisp 对象的更多信息的标准方法是 describe .

    例如。,

    * (describe 'expt)

    COMMON-LISP:EXPT
    [symbol]

    EXPT names a compiled function:
    Lambda-list: (BASE POWER)
    Declared type: (FUNCTION (NUMBER NUMBER) (VALUES NUMBER &OPTIONAL))
    Derived type: (FUNCTION (T T) (VALUES T &OPTIONAL))
    Documentation:
    Return BASE raised to the POWER.
    Known attributes: foldable, flushable, unsafely-flushable, movable, recursive, explicit-check
    Source file: SYS:SRC;CODE;IRRAT.LISP

    回答您的第二个问题: import 操作包(命名空间),而 load require 从磁盘加载库。我建议您阅读手册并提出更具体的问题。

    关于common-lisp - Common Lisp apropos 和文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21101881/

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