【问题标题】:looking up the text of a procedure in scheme在 scheme 中查找过程的文本
【发布时间】:2009-06-05 13:25:14
【问题描述】:

ipython python shell 有一个很棒的功能,您可以输入:

foo??

并查看函数foo的文本。

方案(特别是 MIT 方案)有类似的吗?

我想能够说

(定义(foo x)(* x x))

稍后查看(甚至操作)列表(* x x)

有没有办法做到这一点?

【问题讨论】:

    标签: scheme


    【解决方案1】:

    默认情况下,我知道的任何方案中都没有。您可以做的是定义一个宏来执行“定义”所做的事情,此外还将函数的主体存储在哈希表或 alist 或其他任何内容中。当然,这只适用于您控制的代码。

    【讨论】:

    • mm,我正在考虑做类似的事情......太好了,谢谢!
    【解决方案2】:

    没有可靠、便携的方法来做到这一点。

    【讨论】:

      【解决方案3】:

      Scheme 函数的一般结构是(define (<name> <arg1> <arg2> ... ) <expr1> <expr2> ... <exprn>)。扩展 Mark Probst 的建议,您可以定义一个宏来定义函数的引用版本,然后您可以应用 cddr 来获取函数表达式的列表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-25
        • 2023-04-01
        相关资源
        最近更新 更多