首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方案括号

方案括号
EN

Stack Overflow用户
提问于 2018-03-04 05:14:50
回答 1查看 422关注 0票数 2

有人能帮我找出在列表中找到一个分钟和一个最大值并将它们作为列表返回的方法有什么问题吗?应该是合乎逻辑的。我想括号有问题吧。

代码语言:javascript
复制
(define (find-min-and-max my-list)
    (find-min-max-rec (car my-list) (car my-list) my-list)
)

(define (find-min-max-rec smallest largest ls)
    (if (null? ls)
        (list smallest largest)
    )
    (cond 
        ((and (< smallest (car ls)) (> largest (car ls)) ) (find-min-max-rec (car ls) (car ls) (cdr ls)))
        ((< smallest (car ls)) (find-min-max-rec (car ls) largest (cdr ls)))
        ((> largest (car ls)) (find-min-max-rec smallest (car ls) (cdr ls)))
        (else (find-min-max-rec smallest largest (cdr ls)))
    )
)

(display (find-min-and-max '(1 2 3 4)))

控制台输出

代码语言:javascript
复制
*** ERROR: pair required, but got ()
    While loading "./jdoodle.sc" at line 17
Stack Trace:
_______________________________________
  0  (car ls)
        at "./jdoodle.sc":10
  1  (find-min-and-max '(1 2 3 4))
        at "./jdoodle.sc":17
Command exited with non-zero status 70

期望

代码语言:javascript
复制
(1 4)

此外,是否建议使用任何调试工具?

注意:我一直在这里运行代码:https://www.jdoodle.com/execute-scheme-online

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-04 05:29:43

是的,其实你是对的。括号有问题。

这里有条线索:这个评估的目的是什么?

代码语言:javascript
复制
(define (f x)
  (if (< x 5) 10)
  12)

(f 3)

为什么?

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49092210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档