パスワードを忘れた? アカウント作成
257794 journal

tnodaの日記: 「メタプログラミング Ruby 」読書ノート - 第5章金曜日: コードを記述するコード

日記 by tnoda

Ruby について今日学んだこと:

* Kernel#eval()
    - Kernel#binding() #=> Binding オブジェクトもどうぞ
    - TOPLEVEL_BINDING
    - irb は特定のオブジェクトで irb セッションをネストして開ける
    - コードインジェクション
    - オブジェクトの汚染レベルとセーフレベル
    - サンドボックス

      proc {
        $SAFE = @safe_level
        eval( ...
      }.call

* フックメソッド
    - Class#inherited()
    - Module#included()
    - Module#extend_object()
    - Module#method_added()
    - Module#method_removed()
    - Module#method_undefined()
    - クラス拡張ミックスイン

      # Merb の例。include をフックして extend
      module Merb::Cache::CacheMixin
        def self.included(base)
          base.extend(ClassMethods)
        end
 
        module ClassMethods
          def cache(*actions)
            # ...

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

Stableって古いって意味だっけ? -- Debian初級

読み込み中...