[#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:38828] Re: new with module

From: TAKAI Naoto <takai@...>
Date: 2003-11-21 04:09:58 UTC
List: ruby-list #38828
高井です。

> 1行で読み易く書きたい、という意図だったので、
> こんな風にしてみました。

Module#includedでいじるというのはおもいつきませんでした。さすがです。

> 使う側でなく、module側で
> include Instanciableしなきゃいけないので、既存のモジュールには
> 使いづらいですが。。。

Moduleクラスのincludeメソッドをpublicにするというのはいかがでしょうか?

---- instanciable.rb

module Instanciable
  def self.included(mod)
    class << mod
      def new
        o = Object.new
        o.extend(self)
        yield(o)
        o
      end
    end
  end
end

class Module
  public :include
end

---- client.rb

require 'instanciable'

obj = Enumerable.include(Instanciable).new { |o|
  def o.each
    [1, 3, 2].each do |i| yield i end
  end
}

p obj.sort # => [1, 2, 3]
p obj.member?(1) # => true

相当、あやしげな感じがいたしますが……。

-- 
TAKAI Naoto / takai@commentout.com


In This Thread