91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ruby編程API閱讀之BasicObject閱讀

發布時間:2020-07-24 19:29:07 來源:網絡 閱讀:461 作者:wqyzsh 欄目:編程語言

BasicObject是ruby中所有類的父類。

一、BasicObject提供的實例方法

        BasicObject提供的方法較少,我在文章中只記錄一些要點。

        1. == 與eql?同為BasicObject提供的實例方法,但用法上稍有不同。

     1 == 1.0     #=> true
     1.eql? 1.0   #=> false

        2. send方法,下面為send方法的例子。

     class Klass
         def hello(*args)    
             "Hello " + args.join(' ')  
         end
     end
     k = Klass.new
     k.send :hello, "gentle", "readers"   #=> "Hello gentle readers"

          send為ruby中的實例提供了動態調用方法的可能,實在是元編程的利器。

        3. instance_eval && instance_exc

           這兩個方法的作用都是將對象的作用域撕開,將方法后所跟的塊的self變成對象的上下文環境。所不同的是instance_exc可以向塊內傳遞參數。

二、 BasicObject提供的私有方法

        1. method_missing方法

             method_missing方法被用來處理對象調用方法不存在時的情況,如果在對象類中覆寫method_missing,那么可以達到意想不到的效果。使用起來較難。

        2.singleton_method_added方法

            當一個單例方法添加到一個接受者之后,singleton_methdo_added方法會被當作反饋被調用。            

     module Chatty
       def Chatty.singleton_method_added(id)   
           puts "Adding #{id.id2name}"
       end
      def self.one()     
      end
      def two()          
      end
      def Chatty.three() 
      end
     end
     
     ###Adding singleton_method_added
     ##Adding one
     Adding three

      下面還有singleton_method_removed 和 singleton_method_undefined 方法,和本方法用法相同。我們可以通過示例代碼體會一下class << self ....  end 的用法。

   module Chatty
     def Chatty.singleton_method_removed(id)    
         puts "Removing #{id.id2name}"
     end
     def self.one()     end
     def two()          end
     def Chatty.three() end
     class << self
        remove_method :three
        remove_method :one
     end
   end


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南昌县| 旬阳县| 通许县| 横山县| 迁西县| 页游| 和政县| 宽甸| 昌都县| 万安县| 杭锦旗| 马公市| 呼伦贝尔市| 安龙县| 青河县| 宁化县| 江津市| 天柱县| 长治县| 肇源县| 吉首市| 茂名市| 东兴市| 屯留县| 和田市| 台中县| 高清| 特克斯县| 田东县| 资兴市| 阜南县| 金门县| 博客| 都江堰市| 仙居县| 大化| 南召县| 藁城市| 乃东县| 丰都县| 镶黄旗|