【问题标题】:How do I dynamically create a 2D array in Ruby?如何在 Ruby 中动态创建二维数组?
【发布时间】:2012-04-19 04:26:52
【问题描述】:

所以我正在解析一个 URL,并希望使用 Nokogiri 获取页面中所有链接的列表。

但我想将返回的结果推入二维数组。

我现在正在这样做:

def my_list(url)
    root = Nokogiri::HTML(open(url))
    list = []

    root.css("a").each do |link|
        list << (link[:href])           
    end

end

这只给了我 http 链接。如果我这样做list &lt;&lt; link,它会给我完整的&lt;a&gt; 标签。

我想要做的只是将链接的文本(可以使用link.text)推送到list[0][0],然后将href值(使用link[:href])推送到另一个单元格说list[0][1]

我该怎么做?

谢谢。

【问题讨论】:

    标签: ruby nokogiri


    【解决方案1】:
    def my_list(url)
      root = Nokogiri::HTML(open(url))
      root.css("a").map do |link|
        [link.text, link[:href]]           
      end
    end
    

    【讨论】:

    • 感谢您的帮助...这么快就找回来真是太棒了。
    【解决方案2】:
    def my_list(url)
        root = Nokogiri::HTML(open(url))
        list = []
    
        root.css("a").each do |link|
            list << [link.text,link[:href]]           
        end
    
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-15
      • 2011-02-12
      • 2013-05-02
      • 2013-02-22
      • 2011-08-14
      • 2020-05-20
      • 2017-06-01
      • 2019-04-19
      相关资源
      最近更新 更多