[#7878] libwww-ruby — TAKAHASHI Masayoshi <maki@...>

高橋です。ごぶさたしています。

31 messages 1998/05/13
[#7881] RE: libwww-ruby — OZAWA Sakuro <crouton@...> 1998/05/13

さく%札幌出張@塩尻です.

[#7882] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7884] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7885] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7886] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7888] Re: libwww-ruby — Mitsuru Ogino <ogino@...> 1998/05/14

ちょっとした疑問ですが。

[#7904] Re: filename (Re: libwww-ruby) — 助田 雅紀 <masaki.suketa@...>

助田です。

19 messages 1998/05/15
[#7908] Re: filename (Re: libwww-ruby) — ttate@... 1998/05/15

立石@JAISTです。

[#7909] Ruby Application Archive (Re: Re: filename (Re: libwww-ruby)) — matz@... (Yukihiro Matsumoto) 1998/05/15

まつもと ゆきひろです

[#7912] Re: filename (Re: libwww-ruby) — Makoto Nukui <gnue@...>

ども、GNUE(鵺)です。

16 messages 1998/05/15
[#7926] Re: filename (Re: libwww-ruby) — TAKAHASHI Masayoshi <maki@...> 1998/05/15

高橋です。

[#7965] links from ruby home page — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 1998/05/18
[#7966] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7967] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7968] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7969] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7974] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7979] dbm — Kazuhiro HIWADA <hiwada@...> 1998/05/18

ひわだといいます。こんにちは。

[#7990] Re: dbm — matz@... (Yukihiro Matsumoto) 1998/05/19

まつもと ゆきひろです

[#8002] Dir.open order — Kikutani Makoto <kikutani@...>

きくたに@マサチューセッツです。

13 messages 1998/05/19

[#8099] cathedral v.s. bazaar — Kikutani Makoto <kikutani@...>

debian-usersで話題になってる

23 messages 1998/05/27
[#8103] Re: cathedral v.s. bazaar — TAKAHASHI Masayoshi <maki@...> 1998/05/28

高橋です。

[#8104] Re: cathedral v.s. bazaar — WATANABE Tetsuya <tetsu@...> 1998/05/28

>>>>> "T" == TAKAHASHI Masayoshi <maki@inac.co.jp> writes:

[#8106] Re: cathedral v.s. bazaar — ttate@... 1998/05/28

立石@JAISTです。

[ruby-list:7877] Re: 0/1

From: ttate@...
Date: 1998-05-12 18:44:07 UTC
List: ruby-list #7877
立石@JAISTです。

tadf@kt.rim.or.jpさん(05月13日00時):
tadf>>相談なんですが、値が必要になったときに勝手に計算してくれるようなオブジ
tadf>>クトがほしいなと思っていて (フレームっぽい?)、何かうまいやりかたはない
tadf>>ものかと考えているところです。再計算の必要がないということはよくあって、
tadf>>そのような場合には簡単には、
tadf>>
tadf>>  def Foo
tadf>>    def foo
tadf>>      def self.foo; @foo end
tadf>>      @foo = ちょっとばかり高くつく計算
tadf>>    end
tadf>>  end
tadf>>
tadf>>とでもしておけばよさそうですが  (もう少し工夫はできそう)、どうもコード
tadf>>がわかり難くなってしまうようです (あちこちにあると鬱陶しい)。もうちょっ
tadf>>とうまい方法ってないものでしょうか (より一般化して考えると、遅延評価と

def Fooじゃなくで class Foo ですよね?
(そういうことで以下書きます。)

;; ちょっと内容が把握しきれないので勝手なこと
;; 書いてるかもしれません。 すいません。m(_ _)m

ようするに一度fooを呼び出すとそのオブジェクトのfooの
メソッドが取り替えられるわけですよね?
特異メソッドを許しているrubyならではの技法ですが、
そのときの状況に応じてメソッドを選択したい場合など
に有効なのではないでしょうか?
fooがfooを再定義する以外にも

class Foo
  def foo
    print "foo\n"
    def self.foo2
      print "foo2\n"
    end
  end

  def foo2
    print "foo\n"
  end
end

とかして、メソッドの呼び出す順番によってその振舞
がことなるメソッドなんかもかけそうですよね。

しかし、ある計算を必要時に計算して以後はその値を
用いる1つのメソッドというであれば、

class Foo
  def initialize
    @used = false
    @value = 0
  end

  def foo
    if @used
      @value
    else
      @value = .......
    end
  end
end

のように再計算を必要とするか否かを判別するための
変数を導入するのが分かりやすくはないでしょうか?
もし、なにかの都合でふたたび再計算をしたいときは
@usedの値をfalseにセットすればいいだけです。

;; べつにrubyに特有の方法ではないですが、、、(^^;

----------------------------------------------
Name	Takaaki Tateishi
E-Mail 	ttate@jaist.ac.jp
	tateishi@pluto.dti.ne.jp
URL	http://www.pluto.dti.ne.jp/~tateishi/
Org	School of Information Science
	Japan Advanced Institute of Science and Technology (JAIST)

In This Thread