gpt4 book ai didi

Haskell If 的多个条件

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

我在进行以下练习时遇到问题:

编写一个函数,接收三个 Int 值,如果它们都是正数,则对它们求和,否则返回 0(零)。

我所做的如下:

sum' :: int -> int -> int -> int
sum' x y z = if x >= 0, y >= 0, z >= 0 then x+y+z else 0

我不知道如何在 if 上设置多个条件,不确定这是否是通过逻辑“连接器”完成的(例如 Java 中的 ||&& )或者是否以与我编写的代码类似的方式完成。

最佳答案

可以通过多种方式完成。

例如,使用&&:

sum' :: Int -> Int -> Int -> Int
sum' x y z = if x >= 0 && y >= 0 && z >= 0 then x+y+z else 0

或者使用all和一个列表:

sum' :: Int -> Int -> Int -> Int
sum' x y z = if all (>= 0) xs then sum xs else 0
where xs = [x, y, z]

关于Haskell If 的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31593351/

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