2011-08-14 52 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的类载有分你想知道的方法,模块可能无法正常工作。