Scheme 不良租入表格计划
它告诉我let的形式不好(let((a2)),但据我所知,语法和代码是正确的Scheme 不良租入表格计划,scheme,lisp,Scheme,Lisp,它告诉我let的形式不好(let((a2)),但据我所知,语法和代码是正确的let表单具有以下语法:(let binds body)您的绑定是((a2))。你的身体在哪里?您将其置于let表单之外。这会产生两个问题:let的格式不正确,因为只有一个参数而不是两个参数,并且a在其出现的位置未声明。(假设您正在尝试素性测试函数,则不必深入代码的逻辑,这也是不正确的。)不,这是不对的let表单具有以下语法:(let binds body)您的绑定是((a2))。你的身体在哪里?您将其置于let表单之外
let
表单具有以下语法:(let binds body)
您的绑定是((a2))
。你的身体在哪里?您将其置于let
表单之外。这会产生两个问题:let
的格式不正确,因为只有一个参数而不是两个参数,并且a
在其出现的位置未声明。(假设您正在尝试素性测试函数,则不必深入代码的逻辑,这也是不正确的。)不,这是不对的let
表单具有以下语法:(let binds body)
您的绑定是((a2))
。你的身体在哪里?您将其置于let
表单之外。这会产生两个问题:let
的格式不正确,因为只有一个参数而不是两个参数,并且a
在其出现的位置未声明。(假设您正在尝试素性测试函数,则不必深入代码的逻辑,这也是不正确的。)let
格式为
(define (prime max)
(let ((a 2)))
(if not(= modulo max 2) 0)
((+ a 1)
prime(max))
)
(let()
( )
...
( ))
...
)
调用函数的一般形式也是
(let ((<var1> <value1>)
(<var2> <value2>)
...
(<varN> <valueN>))
<expr1>
<expr2>
...
<exprN>)
()。如图所示。让格式为
(define (prime max)
(let ((a 2)))
(if not(= modulo max 2) 0)
((+ a 1)
prime(max))
)
(let()
( )
...
( ))
...
)
调用函数的一般形式也是
(let ((<var1> <value1>)
(<var2> <value2>)
...
(<varN> <valueN>))
<expr1>
<expr2>
...
<exprN>)
()。如图所示。只有第一行和最后一行是正确的。实际代码中的每一行都至少包含一个错误。你需要多学习,至少第一行是正确的。关于其余部分,不清楚您打算做什么,但语法基本上是不正确的,这使得该过程毫无用处。是时候阅读课堂笔记,更加努力地学习了;)请注意,与Scheme不同,Lisp语言具有零个或多个元素的体形式。所以(let((a1))
甚至(let())
都是可以接受的;您会发现它在ANSI通用Lisp实现、Emacs Lisp和各种历史方言中都能工作。ISLisp:另请参见第35页。TXR Lisp,。只有第一行和最后一行是正确的。实际代码中的每一行都至少包含一个错误。你需要多学习,至少第一行是正确的。关于其余部分,不清楚您打算做什么,但语法基本上是不正确的,这使得该过程毫无用处。是时候阅读课堂笔记,更加努力地学习了;)请注意,与Scheme不同,Lisp语言具有零个或多个元素的体形式。所以(let((a1))
甚至(let())
都是可以接受的;您会发现它在ANSI通用Lisp实现、Emacs Lisp和各种历史方言中都能工作。ISLisp:另请参见第35页。TXR Lisp。