检查是否具有实例变量
检查是否支持调用的方法
class Object
def must_have_instance_variables(*args)
vars = instance_variables.inject({}) { |h,var| h[var] = true; h }
args.each do |var|
unless vars[var]
raise ArgumentError, %{Instance variable "@#{var} not defined"}
end
end
end
end
检查是否支持调用的方法
class Object
def must_support(*args)
args.each do |method|
unless respond_to? method
raise ArgumentError, %{Must support "#{method}"}
end
end
end
end