也许我误解了什么。
在 Hy 中,if*
可以取(if*
符号后)
- 一个谓词(如果没有其他表达式,则返回评估)
- 零个或一个结果(如果谓词为真,则评估并返回)
- (如果存在结果)零个或一个替代项(如果谓词为falsy则评估并返回)
如果谓词是假的并且没有提供替代表达式,则返回 None。
if
(没有星号)可以处理任意数量的谓词和结果对,如果没有谓词评估为真,则评估并返回最终的可选非谓词表达式。
这与 有何不同cond
,除了cond
' 需要在谓词 - 后件对周围使用括号?
也许我误解了什么。
在 Hy 中,if*
可以取(if*
符号后)
如果谓词是假的并且没有提供替代表达式,则返回 None。
if
(没有星号)可以处理任意数量的谓词和结果对,如果没有谓词评估为真,则评估并返回最终的可选非谓词表达式。
这与 有何不同cond
,除了cond
' 需要在谓词 - 后件对周围使用括号?