takeWhile 测试嵌套列表的长度
takeWhile to test length of nested lists
我是 Haskell 的新手,正在尝试执行以下操作:
takeWhile (length < 3) [[1],[1,2],[1..3],[1..4]]
。但这给出了一个错误,我认为这是因为 takeWhile
会测试 length < 3 [1]
而不是 length [1] < 3
,这是可行的。我是否将 [[1],[1,2],[1..3],[1..4]]
制作成一个长度列表,然后为该长度列表做一个 takeWhile (< 3)
?或者有没有直接测试长度的方法?
您可以组合 length
和 (< 3)
来实现您想要的:
takeWhile ((< 3) . length) [[1],[1,2],[1..3],[1..4]]
我是 Haskell 的新手,正在尝试执行以下操作:
takeWhile (length < 3) [[1],[1,2],[1..3],[1..4]]
。但这给出了一个错误,我认为这是因为 takeWhile
会测试 length < 3 [1]
而不是 length [1] < 3
,这是可行的。我是否将 [[1],[1,2],[1..3],[1..4]]
制作成一个长度列表,然后为该长度列表做一个 takeWhile (< 3)
?或者有没有直接测试长度的方法?
您可以组合 length
和 (< 3)
来实现您想要的:
takeWhile ((< 3) . length) [[1],[1,2],[1..3],[1..4]]