function - 为什么 cond 函数不在方案中打印?
问题描述
我对方案很陌生,我无法获得在 DrRacket ide 中打印的简单 cond 函数。当我运行这两个函数时:
(define (test x)
(cond
[(zero? x) (error "doesn't get here, either")]
[(positive? x) 'here]))
(define (compare x y)
(cond [(equal? x y) "Is Equal"]))
它打印:
> test 12
#<procedure:test>
12
> compare 12 12
#<procedure:compare>
12
12
为什么它不会输出任何错误或“Is Equal”?如果我直接运行 cond 语句并替换变量,它工作正常。
解决方案
您实际上并没有调用新过程,您必须将过程名称及其参数括在括号()
中,就像您在解决方案中使用的所有其他过程一样!这是这样的:
(test 12)
=> 'here
(compare 12 12)
=> "Is Equal"
推荐阅读
- android - Gradle 升级后任务 ':app:mergeDebugResources' 执行失败
- kotlin - 如何解密以前使用imagemagick加密的jpg中的图片
- javascript - 如何将选项呈现为输入的下拉菜单?
- css - R Shiny CSS:在具有多个绝对面板的应用程序中启用 x 和 y 方向的滚动
- vue.js - 使用 vue.js 覆盖的应用程序测试自动化方法
- ruby-on-rails - 在 Ruby on Rails 中的 PDF 请求期间呈现 HTML 模板
- python - 第二个位置参数在哪里?
- spring - 如何配置@ComponentScan 以扫描特定包并从另一个包中获取单个类?
- python - How to find the correct API of a website?
- vscode-settings - 是否可以在 VS Code 中显示字体的替代字符?