The*_*ark 3 haskell list stream pointfree tacit-programming
我是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]]
Run Code Online (Sandbox Code Playgroud)