Scheme 不良租入表格计划

Scheme 不良租入表格计划,scheme,lisp,Scheme,Lisp,它告诉我let的形式不好(let((a2)),但据我所知,语法和代码是正确的let表单具有以下语法:(let binds body)您的绑定是((a2))。你的身体在哪里?您将其置于let表单之外。这会产生两个问题:let的格式不正确,因为只有一个参数而不是两个参数,并且a在其出现的位置未声明。(假设您正在尝试素性测试函数,则不必深入代码的逻辑,这也是不正确的。)不,这是不对的let表单具有以下语法:(let binds body)您的绑定是((a2))。你的身体在哪里?您将其置于let表单之外

它告诉我let的形式不好(let((a2)),但据我所知,语法和代码是正确的
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。