【发布时间】:2022-10-09 22:07:27
【问题描述】:
secondTest :: [(Int, Int)] -> [Int] -> [Int]
secondTest a b = [ x | (m,n) <- a, x <- b, m > 3 && n > 3]
我现在有这段代码,我想更改它,以便如果给定的所有 int 都超过 3,无论第一个列表中给出多少个 int,它都会返回 b。
我尝试过这样的事情:
secondTest :: [Int] -> [Int] -> [Int]
secondTest a b = [ x | m <- a, x <- b, m > 3]
但这会返回一个值,如果任何的 int 值大于 3,而不是全部。
编辑以显示预期回报:
secondTest [4,4] [1,2] = [1,2]
secondTest [4,4,4] [1,2] = [1,2]
secondTest [4,1,4] [1,2,9] = Nothing
谢谢
【问题讨论】:
-
当并非所有值都 > 3 时,您需要返回什么?也许您应该提供一些显示预期结果的示例。例如。
f [4,4] [1,2] = ?、f [4,4,4] [1,2] = ?、f [4,1,4] [1,2,9] = ?等 -
@chi 嘿!我已经对其进行了编辑以包含此内容,希望这对您有所帮助
标签: list function haskell list-comprehension