如何在Ruby中动态创建2D数组?

mar*_*ion 2 ruby nokogiri

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

但是我想将结果推回到二维数组中。

我现在正在这样做:

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

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

end
Run Code Online (Sandbox Code Playgroud)

这给我的只是http链接。如果我这样做,list << link它将给我完整的<a>标签。

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

我怎么做?

谢谢。

fl0*_*00r 5

def my_list(url)
  root = Nokogiri::HTML(open(url))
  root.css("a").map do |link|
    [link.text, link[:href]]           
  end
end
Run Code Online (Sandbox Code Playgroud)