scala 解析器组合器中的回溯?
看来 scala 的解析器组合器不会回溯。我有一个语法(见底部),无法正确解析以下“stmt”: copy in to out . 这应该很容易通过回溯解析: stmt: (to …
Foldr 和 Foldl 进一步解释和示例
我查看了不同的折叠和一般折叠 以及其他一些内容,他们解释得相当好。 我仍然不知道 lambda 在这种情况下如何工作。 foldr (\y ys -> ys ++ [y]) [] […
你将如何在 Haskell 中(重新)实现迭代?
iterate :: (a -> a) -> a -> [a] (您可能知道)iterate 是一个接受函数和起始值的函数。然后它将函数应用于起始值,然后将相同的函数应用于最后的结…
如何在 Clojure 中创建惰性序列生成、匿名递归函数?
编辑:我在写这篇文章的过程中发现了我自己问题的部分答案,但我认为它可以很容易地改进,所以我无论如何都会发布它。也许有更好的解决方案? 我正在…
具有无限列表的foldl 与foldr 行为
这个问题中的 myAny 函数的代码 使用foldr。当谓词满足时,它会停止处理无限列表。 我使用 Foldl 重写了它:( myAny :: (a -> Bool) -> [a] -> Bool …
Scala:我可以推动组合器解析器变得局部贪婪吗?
假设我有一种用组合器解析器表达的模糊语言。有没有办法让某些表达式局部贪婪?这是我的意思的一个例子。 import scala.util.parsing.combinator._ ob…
我在 Haskell 中对 Zip 的定义有什么问题?
-- eg. myzip [’a’, ’b’, ’c’] [1, 2, 3, 4] -> [(’a’, 1), (’b’, 2), (’c’, 3)] myzip :: Ord a => [a] -> [a] -> [(a,a)] myzip list1 …
解析器组合器:如何终止关键字重复
我试图弄清楚如何使用关键字终止单词的重复。一个例子: class CAQueryLanguage extends JavaTokenParsers { def expression = ("START" ~ words ~ "E…
Haskell:“groupBy”的令人惊讶的行为
我试图找出库函数 groupBy (来自 Data.List)的行为,它旨在通过作为第一个参数传入的“相等测试”函数对列表的元素进行分组。类型签名表明相等测试…
在 Ruby 中解析 XML 标签时如何获得所有内容的总和?
我有一些 XHTML(但实际上任何 XML 都可以),如下所示: Hello, World! How do I get the full content of the as a String in Ruby? 如: assert_eq…