ruby 給對象添加新的方法

js 裏面每一個對象都是一個hash-table, 添加方法的操做也很方便, a = {}, a.doSomeThing = ()=>{console.log('nice')}ruby

ruby, 也容許給對象添加方法:dom

1. 利用def 來給, 對象或類, 添加屬於本身的方法:code

  a = 'Hello World'對象

  def a.do_some_thingrem

    puts '作個大新聞'hash

  endconsole

 

  def String.do_another_thingtable

    puts '+1s'class

  end方法

 

2. 使用類和對象的方法來添加

  def obj.a_singleton_method; end
  def MyClass.another_class_method; end
 
3. 移除對象的方法
  有2種方式, remove_method :method_name, undef :method_name
  remove_method 會去除當前類上面的方法, 可是若是父類有同名方法, 那麼會變成父類同名方法的調用
  undef 估計是把對應的方法名的方法賦值了undefind ,( 應該是直接堵死了 )

  class << my_array

    remove_method(:random_dump)

  end

相關文章
相關標籤/搜索