gpt4 book ai didi

ruby - Hpricot 中使用的(例如)除数表示法是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 08:19:14 24 4
gpt4 key购买 nike

在 Hpricot 文档中(位于 https://github.com/hpricot/hpricot),有一个 doc.search() 方法。然后文档继续说“快捷方式是使用除数”:

(doc/"p.posted")

它确实有效,这是肯定的,但我想知道,这是什么表示法?我以前从未遇到过。

最佳答案

Hpricot(和 Nokogiri,因为它支持 Hpricot 的快捷方式)支持“搜索”(/)和“在”(%)两种快捷方式。

Search意思是“找到这个模式的所有出现”和at意味着找到第一次出现。 Search返回节点列表,而 at返回单个节点,当您要访问该节点的内容时必须牢记这一点。

一般来说,at适用于您知道唯一且不想迭代的标签或 ID。 Search用于遍历表格中的所有行或每个 <p> 之类的事情文档中的标记。您还可以从 % 链接,这对于查找特定节点然后下降到该节点很有用。

require 'hpricot'

html = '
<html>
<head><title>blah</title>
<body>
<div id="foo">
<p>paragraph1</p>
<p>paragraph2</p>
</div>
</body>
</head>
'
doc = Hpricot(html)

doc.at('title').inner_text # => "blah"
(doc / 'p').last.inner_text # => "paragraph2"
(doc % 'p').inner_text # => "paragraph1"
(doc % '#foo').search('p').size # => 2

个人推荐Nokogiri在 Hpricot。它支持所有快捷方式,但功能更全面,并且得到了很好的支持。

还有,快捷方式 /%不是我见过的任何标准的一部分;它们是 Hpricot 本地的,为方便起见由 Nokogiri 继承。我不记得在 Perl 或 Python 解析器中见过它们。

关于ruby - Hpricot 中使用的(例如)除数表示法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782416/

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