[#3234] sample of TkFont class — NAGAI Hidetoshi <nagai@...>

永井@知能.九工大です.

52 messages 1998/07/08
[#3241] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/09

永井@知能.九工大です.

[#3290] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/15

永井@知能.九工大です.

[#3291] Re: sample of TkFont class — matz@... (Yukihiro Matsumoto) 1998/07/15

まつもと ゆきひろです

[#3307] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/16

永井@知能.九工大です.

[#3309] Re: sample of TkFont class — matz@... (Yukihiro Matsumoto) 1998/07/16

まつもと ゆきひろです

[#3319] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/16

永井@知能.九工大です.

[#3321] Re: sample of TkFont class — matz@... (Yukihiro Matsumoto) 1998/07/16

まつもと ゆきひろです

[#3324] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/16

永井@知能.九工大です.

[#3367] Re: sample of TkFont class — Tadayoshi Funaba <tadf@...> 1998/07/22

ふなばです。

[#3369] Re: sample of TkFont class — ttate@... 1998/07/22

立石@JAISTです。

[#3370] Re: sample of TkFont class — Tadayoshi Funaba <tadf@...> 1998/07/22

ふなばです。

[#3371] Re: sample of TkFont class — ttate@... 1998/07/23

立石@JAISTです。

[#3292] exprimental release 1.1b9_31 (hopefully final) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

20 messages 1998/07/15
[#3293] Re: exprimental release 1.1b9_31 (hopefully final) — Takahiro Maebashi <maebashi@...> 1998/07/15

前橋です。

[#3294] Re: exprimental release 1.1b9_31 (hopefully final) — matz@... (Yukihiro Matsumoto) 1998/07/15

まつもと ゆきひろです

[#3295] Re: exprimental release 1.1b9_31 (hopefully final) — Takahiro Maebashi <maebashi@...> 1998/07/15

前橋です。

[ruby-dev:3213] Re: once function

From: Tadayoshi Funaba <tadf@...>
Date: 1998-07-03 16:56:23 UTC
List: ruby-dev #3213
ふなばです。

>|ちなみに、 僕は、Ruby がやるにしても、必ずしもそのための文法をとくに誂
>|えなくてもよさそうなものだ、と思っているんですが、どうなんでしょうか。
>|メソッド定義はそれとして、ふるまいについて指示する、というようなことっ
>|てできそうじゃないですか (だって自由度が高いんですもの :-)。対象となる
>|メソッドを間接呼び出して、値を得たら再びメソッドを定義しなおすメソッド
>|を Module に用意するってのはダメなのかなあ。
>
>ダメじゃないです.が,仕様をもう少し詰めるとrubyレベルで出来
>そうな気もします.もっともどの時点でもとのメソッドが定義され
>ているかって係わってくるんでちょっとややこしいですが.

前田さんのコードとまともとさんのヒントを頼りに、ためしに、とても簡単な
のを書いてみました (eval つかっちゃいました)。

# once.rb: Written by Tadayoshi Funaba 1998
# $Id: once.rb,v 1.1 1998/07/03 16:45:31 tadf Exp tadf $

class Module

  def once(id)
    name = id.id2name
    module_eval <<__ONCE__
    alias_method :__#{id}__, :#{name}
    def #{name}(*args, &block)
      def self.#{name}(*args, &block); @__#{id}__ end
      @__#{id}__ = __#{id}__(*args, &block)
    end
__ONCE__
  end

  private :once

end

#--

class Foo

  def foo
    ...
  end

  once :foo

end

てなふうにします。風呂あがりにちょろっと書いたんであやしい。

--Tadayoshi Funaba

In This Thread

Prev Next