我正在动态获取方法的名称,并通过它进行如下检查:
if @myObject.class.instance_methods.include?(the_passed_method_name.to_sym) then
# Something
else
# Some other thing
end
假设我已经通过了“length”或“reverse”并且我检查了“String”类并且它们工作得非常好。但是当我通过“bytesize”或“gsub”时它在/中不接受它/Something 代码部分。它认为“gsub”不是“String”实例方法的一部分,这是不正确的,因为当我在 irb 中键入它时:
"String".class.instance_methods.include?("gsub".to_sym)
它返回true。你能给个建议吗?