02 - listing methods unique to an object.rb

来自「O Reilly Ruby Cookbook source code」· RB 代码 · 共 47 行

RB
47
字号
class Object  def my_methods_only    my_super = self.class.superclass    return my_super ? methods - my_super.instance_methods : methods  endends = ''s.methods.size                              # => 143Object.instance_methods.size                # =>  41s.my_methods_only.size                      # => 102(s.methods - Object.instance_methods).size  # => 102def s.singleton_method()ends.methods.size                              # => 144s.my_methods_only.size                      # => 103class Object  def new_object_method  endends.methods.size                              # => 145s.my_methods_only.size                      # => 103class MyString < String  def my_string_method  endendMyString.new.my_methods_only                # => ["my_string_method"]#---class Object  def my_methods_only_no_mixins    m = my_methods_only    self.class.ancestors.each do |ancestor|     m = m - ancestor.instance_methods unless ancestor.is_a?(Class) \	 || ancestor == Kernel          end    return m  end  end[].methods.size                                    # => 121[].my_methods_only.size                            # => 78[].my_methods_only_no_mixins.size                  # => 57#---

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?