gpt4 book ai didi

scheme - 检查列表是否不为null的最佳方法?

转载 作者:行者123 更新时间:2023-12-04 10:01:47 25 4
gpt4 key购买 nike

在Common Lisp中,如果我想检查列表是否不为null,则可以将列表本身用作条件,因为所有非nil列表都被视为true。但是,我发现在Scheme中,执行相同操作会使Scheme认为我正在尝试调用一个函数。有没有比定义另一个执行(not (null? x))的函数更好的方法来检查Scheme中的列表是否为null?

最佳答案

在Scheme中,不是#f的所有内容都是真实的,因此'()语句中将#t视为if

因此,

(if '() "true" "false") => "true"
(not '()) => #f

使用 (not (null? x))是检查列表是否不为null的最直接方法:它准确地描述了您想要的内容,在某些极端情况下,您得到的内容不是列表,这将为您提供不同的行为:
(if (not (null? #t)) "true" "false") => "true"
(if (not #t) "true" "false") => "false"

关于scheme - 检查列表是否不为null的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7360457/

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