>547 動的分類ってjavaで言うと、 foo instanceOf Array とかのこと?
特異クラスを検出するならObject::respond_to?(name) だね

obj = [1,2,3,4] # Hash, String, IO のような繰り返し処理のありそうなオブジェクト
if obj.respond_to?("each")
 obj.each do |e|
  print e
 end
end