gpt4 book ai didi

scheme - 为什么返回空而不是列表本身?

转载 作者:行者123 更新时间:2023-12-02 08:42:40 24 4
gpt4 key购买 nike

第 4 章,HtDP。

注意:我在其他问题中也看到了这一点。

是出于清晰原因还是算法原因,我不知道,基本情况返回空而不是列表本身是空的。

例子:

; List-of-numbers -> List-of-numbers
; compute the weekly wages for all given weekly hours
(define (wage* alon)
(cond
[(empty? alon) empty] ;<---- see here
[else (cons (wage (first alon)) (wage* (rest alon)))]))

; Number -> Number
; compute the wage for h hours of work
(define (wage h)
(* 12 h))

我认为这同样正确。

; List-of-numbers -> List-of-numbers
; compute the weekly wages for all given weekly hours
(define (wage* alon)
(cond
[(empty? alon) alon] ;<---- see here
[else (cons (wage (first alon)) (wage* (rest alon)))]))

; Number -> Number
; compute the wage for h hours of work
(define (wage h)
(* 12 h))

最佳答案

两种形式都是正确的并且完全等价,这只是风格问题。虽然可以说这更清楚一些,因为它明确了返回的内容:

(if (empty? lst)
empty
...)

归根结底,这是个人品味与编码惯例的问题。如果您是团队成员并且每个人都在使用第一种形式,那么您应该使用它。另一方面,如果你是一个孤独的程序员,那么使用更适合你口味的形式。

关于scheme - 为什么返回空而不是列表本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15191863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com