text -6ren">
gpt4 book ai didi

haskell - 在 HXT 中使用列表

转载 作者:行者123 更新时间:2023-12-02 10:39:43 27 4
gpt4 key购买 nike

我疯狂地尝试使用定义的简单 >>.>. 函数 here .

我想获取 HXT 中节点的所有文本的长度。我正在使用这个:

runX (doc //> hasName "div" //> text >>. unlines)

其中 doc 是我的 XmlTree 箭头。

这让我获得所有 div 的所有文本(包括它们拥有的任何子元素中的文本)。它以字符串形式获取文本,因为我使用的是 unlines。现在我想获取该字符串的长度,所以我尝试:

runX (doc //> hasName "div" //> text >>. unlines >. length)

HXT 似乎神奇地将我的字符串转换回数组,因为我得到了:

[0,17,0,20,0,11,...]

我想要的是所有这些Int的总和。我该怎么做?

更新:

文本函数定义如下:

text = deep (getChildren >>> getText)

我发现如果我跳过 getChildren 位,则可以正常工作:

text = deep getText

只要我只有一个 div 元素。如果我有多个 div 元素,我会返回一个包含每个元素长度的数组。

最佳答案

考虑接下来的两个例子:

Prelude Text.XML.HXT.Core> flip runLA undefined $ (constL [1, 2] >>>  arr id) >>. take 1
[1]
Prelude Text.XML.HXT.Core> flip runLA undefined $ constL [1, 2] >>> (arr id >>. take 1)
[1,2]

区别仅在括号内。如果没有括号,它将作为第二个示例。因此,您遇到的问题是由于固定因素不同。

关于haskell - 在 HXT 中使用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10159740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com