Ruby動態類別

Hikarikiri發表於2021-08-10

即使類不同,只要有相同的回撥一樣可以處理

class Duck
    def quack
        puts "quack"
    end
end

class Mallard 
    def quack
        puts "qwuaaaack!! quack"
    end 
end

birds = [Duck.new, Mallard.new,Object.new]
birds.each do |duck|
duck.quack if duck.response_to? :quack
end
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章