gpt4 book ai didi

scala - 对于 Haskell 中的列表理解,Scala 中的等价物?

转载 作者:行者123 更新时间:2023-12-02 02:51:15 26 4
gpt4 key购买 nike

我正在阅读 Haskell 的书“Learn You a Haskell for Great Good!”。第 2 章用这个小例子解释了列表理解:

boomBangs xs = [ if x < 10 then "BOOM!" else "BANG!" | x <- xs, odd x]   

有人可以用 Scala 重写这个列表推导式吗? Scala 没有偶数或奇数函数?所以我必须使用
x%2!=0     

检查数字是否为奇数?

预先感谢您提供优雅的解决方案!

最佳答案

即使 Scala 没有 evenodd函数在其标准库中(我不确定),实现两者都很简单。假设这样(为了使其与原始 Haskell 版本最接近),Scala 代码可能看起来像

val boomBangs = for {
x <- xs
if odd x
} yield if (x < 10) "BOOM!" else "BANG!"

免责声明:我暂时无法编译或测试它,所以不能保证它按原样工作。

关于scala - 对于 Haskell 中的列表理解,Scala 中的等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13305175/

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