Ruby 编程 / 参考 / 内置函数
外观
默认情况下,有多种方法可用。您可以通过在 irb 会话中运行 methods
来查看可用方法,例如
>> class A; end >> A.instance_methods [:nil?, :===, :=~, :!~, :eql?, :class, :clone, :dup, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :to_s, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :extend, :display, :method, :public_method, :define_singleton_method, :hash, :__id__, :object_id, :to_enum, :enum_for, :gem, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__]
您可以通过检查对象层级来查看大多数这些方法的定义位置
>> A.ancestors => [A, Object, Kernel, BasicObject]
1.9 引入了更多方法,如 __method__
(当前方法名称)以及 require_relative
,该方法需要相对于当前文件目录的文件。
若要查看每个方法的定义位置,您可以运行类似下方内容
>> A.instance_methods.map{|m| [m, A.instance_method(m).owner] } => [[:nil?, Kernel], ...