scheme - Bad Let in Form 方案
问题描述
(define (prime max)
(let ((a 2)))
(if not(= modulo max 2) 0)
((+ a 1)
prime(max))
)
它告诉我错误的形式 (let ((a 2))) 但据我所知,语法和代码是正确的
解决方案
不,这是不对的。let
form 有这样的语法:(let binds body)
你的绑定是((a 2))
. 你的身体在哪里?你把它放在let
表格之外。这引发了两个问题:let
由于只有一个参数而不是两个参数而导致格式错误,并且a
在它出现的位置未声明。(没有进入代码的逻辑,这也是不正确的,假设您正在尝试素性测试功能.)
推荐阅读
- postgresql - 无法连接到主机服务器(odoo v11)
- ios - UITextField 中插入符号/光标的奇怪行为
- ruby-on-rails - Rails 5 中带有复选框的高级搜索
- javascript - 卡在 JS DOM 操作上
- java - 为什么常量类的静态变量不连接其他类的值?
- javascript - 等待窗口加载事件注册服务工作者
- c++ - C++人脸检测结合c#WPF
- angular - ng-template 和 ngTemplateOutlet Angular
- c# - 图表c#:改变径向线的颜色
- android - DialogFragment 使用 NavController 打开片段