【问题标题】:EVAL: undefined function DEFINEEVAL:未定义的函数 DEFINE
【发布时间】:2015-09-29 13:31:36
【问题描述】:

我写了一个非常简单的程序:

(define size 2)

(print size)

当我运行此代码时,出现以下错误:

*** - EVAL: undefined function DEFINE

错误是什么意思?我该如何解决?

【问题讨论】:

    标签: lisp clisp


    【解决方案1】:

    define 不是由 GNU CLISP 实现的 ANSI Common Lisp 语言的一部分(我认为您将 CL 与 Scheme 混淆了)。

    定义变量时,使用defvar, 对于函数使用defun

    您可能想要一本书,例如,ANSI Common Lisp

    【讨论】:

      【解决方案2】:

      define在Scheme编程语言中的意思是定义一个变量或一个函数, defvardefparameter 在 Common Lisp 编程语言(这是 CLISP 实现的,与 Scheme 不同)中的意思是定义一个变量。 defun 在 Common Lisp 中意味着定义一个函数。

      CL-USER 195 > (defparameter size 2)
      SIZE
      
      CL-USER 196 > (print size)
      
      2 
      2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-24
        相关资源
        最近更新 更多