我正在尝试使用红宝石网络蜘蛛框架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)
答案 0 :(得分:8)
我用这个来理清那些无趣的事情:
irb> pp (page.methods - Object.new.methods).sort
另外,从IRB我使用Wirble gem,它有po
和poc
方法做类似的事情:
irb> po page
更新:这些天我使用Pry。当Pry可用时,ls
命令效果很好:
pry> ls page
答案 1 :(得分:0)
也许inspect
?
puts page.inspect
答案 2 :(得分:0)
另一种选择是page.class.instance_methods(false)
,但如果page
的类包含了您想要了解的方法的模块,则可能无效。