def callOrElse(obj,method,default) if obj.respond_to?(method) obj.__send__(method) else default end end
result = obj.method rescue default
和@slhck一样,当我知道obj不会对方法做出反应时,我可能不会使用它,但它是一个选项.