エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
KagemushaでCleanなDSLスタイルのinitializeを作る - Hello, world! - s21g
Kagemushaを使って、スコープを汚さないDSLスタイルのinitialize メソッドを提供する方法を紹介します。... Kagemushaを使って、スコープを汚さないDSLスタイルのinitialize メソッドを提供する方法を紹介します。 1 require 'rubygems' 2 require 'kagemusha' 3 4 class Foo 5 def initialize(&block) 6 bar = nil # default value 7 meta = eval('class << self; self end', block.binding) 8 Kagemusha.new(meta) do |kage| 9 kage.def(:bar){|bar|} # substitution 10 end.swap(&block) 11 @bar = bar 12 end 13 end 14 15 def bar(x); puts x end 16 17 foo =



2008/07/24 リンク