Haskell 在ATOPASSERC中实现skipWhile1
提供至少使用一个字符的函数Haskell 在ATOPASSERC中实现skipWhile1,haskell,attoparsec,Haskell,Attoparsec,提供至少使用一个字符的函数takeWhile1 但是,skipWhile没有模拟。如何实现此功能skipWhile1 注意:此问题故意不显示任何研究成果,因为它是问答式回答。您可以与takeWhile1一起使用,以忽略结果: import Data.c.Char8 进口管制.单子(无效) skipWhile1::(Char->Bool)->解析器() skipWhile1=无效。takeWhile1 另一种可能的实现方式: import Control.Applicative skipWhil
takeWhile1
但是,skipWhile
没有模拟。如何实现此功能skipWhile1
注意:此问题故意不显示任何研究成果,因为它是问答式回答。您可以与takeWhile1一起使用,以忽略结果:
import Data.c.Char8
进口管制.单子(无效)
skipWhile1::(Char->Bool)->解析器()
skipWhile1=无效。takeWhile1
另一种可能的实现方式:
import Control.Applicative
skipWhile1 p = skip p *> skipWhile p
这实际上可能比@Uli的答案快,因为takeWhile
构建结果字符串,而skipWhile
不构建结果字符串。懒惰可能使它们相等(例如,如果不使用字符串,则可能takeWhile
实际上不会构建字符串);我现在无法测试来验证这一点