2011-08-14 57 views
2

我正在嘗試使用紅寶石蜘蛛網框架Anemone。我想知道如何打印與對象關聯的所有方法?例如,下面的代碼輸出puts page.url,但我想知道除url之外的其他可用方法。如何打印出所有關聯的方法?打印對象的獨特方法

require 'anemone' 

    Anemone.crawl("http://www.fsu.edu") do |anemone| 
     anemone.on_every_page do |page| 
     puts page.url 
     end 
    end 

回答puts (page.methods - Object.public_methods)

回答

8

我用這個來理清無趣的事情:

irb> pp (page.methods - Object.new.methods).sort 

此外,從IRB我用的是Wirble寶石具有popoc方法是做同樣的事情:

irb> po page 

更新:這幾天我用Pry。當撬可用,ls命令的偉大工程:

pry> ls page 
0

也許inspect

puts page.inspect 
+0

使page.methods工作。現在我必須刪除常用的Object方法來獲得唯一的方法。 – Dru

0

一種選擇是page.class.instance_methods(false),但如果page的類載有分你想知道的方法,模塊可能無法正常工作。