在示例中,我观察了dropWhile的行为:

*Main> dropWhile (/= 'X') "AXF"
"XF"


但是,我很困惑为什么"AX"不返回:

*Main> dropWhile (== 'X') "AXF"
"AXF"


为什么"AXF"在此测试中返回?

最佳答案

dropWhile在条件为真时删除元素,然后在条件为假时停止(返回其余元素)。

使用dropWhile (== 'X') "AXF"时,条件立即为false(因为'A' == 'X'为false),因此它不会删除任何内容并返回整个列表。

关于haskell - 了解`dropWhile`,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25835521/

10-13 08:06