[#38724] 祝日判定用メソッド — Take_tk <ggb03124@...>

たけ(tk)です

19 messages 2003/11/02

[#38756] ruby-dev summary 21730-21822 /draft — Minero Aoki <aamine@...>

青木です。

14 messages 2003/11/05

[ruby-list:38827] Re: new with module

From: "NAKAMURA, Hiroshi" <nakahiro@...>
Date: 2003-11-21 03:05:44 UTC
List: ruby-list #38827
なひです。

> From: "NAKAMURA, Hiroshi" <nakahiro@sarion.co.jp>
> Sent: Friday, November 21, 2003 12:01 PM

> 大元の「スマートにやりたい」というのは、専用のクラス定義したり
> するのがめんどくさいし、1行で読み易く書きたい、という意図だったので、
> こんな風にしてみました。使う側でなく、module側で
> include Instanciableしなきゃいけないので、既存のモジュールには
> 使いづらいですが。。。
> 
> module Instanciable
>   def self.included(mod)
>     class << mod
>       def new
>         o = Object.new
>         o.extend(self)
>         yield(o)
>         o
>       end
>     end
>   end
> end
> 
> module Helloable; include Instanciable
>   def hello
>     p "hello"
>   end
> end
> 
> o = Helloable.new do |o|
>   def o.hello
>     p "custom hello"
>   end
> end
> 
> o.hello

ヘンな例でした。後半はこうかな。

module Helloable; include Instanciable
  def hello
    p say_hello
  end
end

obj = Helloable.new { |o|
  def o.say_hello
    "custom hello"
  end
}

obj.hello

# こっそりoの2重使いを修正。

In This Thread