[#8136] How to use tk_getOpenFile? — Hiramatu Yoshifumi <hiramatu@...>
Tcl/Tkでは、
[#8144] making ruby on solaris — senda@...
[#8149] date & calendar — Tadayoshi Funaba <tadf@...>
ふなばです。
[#8163] 正規表現の使い方 — ARIMA Yasuhiro <fit0298@...>
Netscape Navigator 4.x の bookmark.htm から、HREF を切り出して
[#8173] irb 0.2.1.13 release — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#8182] Re: HP-UX again — Kikutani Makoto <kikutani@...>
過去ログの方法でいけるとおもったですが、やはりエラーになります。
まつもと ゆきひろです
>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
Fri, Jun 05, 1998 at 11:41:08AM +0900 において
[#8193] Re: design patterns — 助田 雅紀 <masaki.suketa@...>
助田です。
けいじゅ@日本ラショナルソフトウェアです.
Regard to "[ruby-list:8194] Re: design patterns"
[#8199] Web Counter — Wada Hiroshi <hiroshiw@...>
和田と申します。皆さん、はじめまして。
[#8215] Pike — OZAWA Sakuro <crouton@...>
さくです.
[#8243] mine-0.0.1 — Takahiro Maebashi <maebashi@...>
前橋です。
[#8249] Re: Smalltalk [Re: design patterns] — "YANAGAWA Kazuhisa" <kjana@...>
in [ruby-list:8234] Re: Smalltalk [Re: design patterns]
[#8257] Re: Smalltalk [Re: design patterns] — 助田 雅紀 <masaki.suketa@...>
助田です。
まつもと ゆきひろです
松尾です。
[#8262] TkGrid do not exist? — Hiramatu Yoshifumi <hiramatu@...>
平松です。
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
立石@JAISTです。
永井@知能.九工大です.
立石@JAISTです。
[#8283] proc scope — NAGAI Hidetoshi <nagai@...>
永井@知能.九工大です.
[#8320] tk demo — ttate@...
立石@JAISTです。
[#8325] require — "Kazuhiro Yoshida" <moriq@...2.seikyou.ne.jp>
はじめまして。もりきゅう こと 吉田和弘です。
[#8349] Re: require — 助田 雅紀 <masaki.suketa@...>
助田です。
[#8375] new MethodIndex — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
こんにちは、鄭です。
再び、鄭です。_o_
けいじゅ@日本ラショナルソフトウェアです.
こんにちは、鄭です。
[#8377] Re: what type are true and false — "YANAGAWA Kazuhisa" <kjana@...>
in [ruby-list:8357] Re: what type are true and false
[#8380] blade/ruby — Kikutani Makoto <kikutani@...>
http://blade.nagaokaut.ac.jp/ruby/index.html
まつもと ゆきひろです
Wed, Jun 17, 1998 at 11:43:05AM +0900 において
原です。
[#8393] irb — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...>
irb なんですが、なんだか変数が使えないような気がします。でも、誰も指摘さ
[#8400] Tk demo — ttate@...
立石@JAISTです。
[#8418] how to use delegate — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
岩岡です。
[#8422] Can "initialize" be overrided? — IWAOKA Masahiro <iwaoka@...>
はじめまして、岩岡と申します。
[#8436] tk demo (timer) & after — ttate@...
立石@JAISTです。
永井@知能.九工大です.
立石@JAISTです。
[#8451] Re: thread — greentea@...2.so-net.or.jp (Tomoyuki Kosimizu)
こんにちは、越水です。
[#8472] scope of local variables — Takao KAWAMURA <kawamura@...>
ローカル変数に関して、よくわからないことがあるので教えてくだ
まつもと ゆきひろです
In message "[ruby-list:8474] Re: scope of local variables"
[#8486] cursor — "MAEDA Shugo" <shugo@...>
前田です。
[#8489] xmp — gotoken@... (GOTO Kentaro)
ごとけんです
[#8509] Cannot compile ruby-gtk — Hiramatu Yoshifumi <hiramatu@...>
平松です。
[#8521] hash sort — "Kazuhiro Yoshida" <s95l980@...>
もりきゅうです。
ごとけんです
わたなべです.
ごとけんです
出沢です
ごとけんです
高橋です。
ごとけんです
ふなばです。
ごとけんです
ふなばです。
ひわだ@現実逃避中 といいます。こんにちは。
[#8525] readline includes "sig.h" — gotoken@... (GOTO Kentaro)
ごとけんです
[#8569] Enumerable#reverse — gotoken@... (GOTO Kentaro)
ごとけんです
[ruby-list:8239] Re: Delegation
In message [ruby-list:8228] Re: Delegation
Yukihiro Matsumoto <matz@netlab.co.jp>
> | 1. このようにした場合,何か問題が起こり得るでしょうか.
>
> method_missingは「メソッドが定義されていない」時にしか呼ばれ
> ませんから,Objectで定義されているメソッドに対しては転送が行
> われません.delegate.rbでやってるのと同様の方法で明示的に転
> 送してやれば良いんでしょうけど.
Object で定義されていて,Delegator で preserved でないメソッドを undef
しているんで,結構大丈夫かな?
> | 2. 初期オブジェクトが不定な delegation を上手く書く,もっと上手いや
> | り方は考えられるでしょうか.
>
> method_missing以上の方法は無いと思いますよ.
「とりあえず書いてみた」ものを回収できたのでちょっとこの後につけてみま
す.
1. 直接実行することができます.
2. 引数で Future の例の方の,メインスレッドの待ち時間を変えることが
できます
あんまり使い道はなさそうですけど.Promise(lazy evaluation)はまだしも
Future はシングルプロセッサだとあんまり面白くないですね.IO バウンドな
スレッドがあると役に立つのかな?
# 改ページは入らんはテキストを挿入すると勝手に空行をカットするは,どう
# も Outlook Express は性に合わない (^^;
# なんか変なものが出ていってたら教えてください.
===========================================================================
柳川和久 @ 東大阪市 . 大阪府
kjana@os.xaxon.ne.jp June 8, 1998
「え,月ってただ空に描いてあるだけじゃなかったの? うそー」
「うそーってエレン....」
# これは delegator.rb からほぼそのまま持ってきたもの
class UDelegator
def initialize(obj)
preserved = ::Kernel.instance_methods
for t in self.type.ancestors
preserved |= t.instance_methods
break if t == UDelegator
end
preserved -= ["__getobj__","to_s","nil?","to_a","hash","dup","==","=~"]
for method in obj.methods
next if preserved.include? method
#eval "def self.#{method}(*args,&block); __getobj__.__send__(:#{method}, *args,&block); end"
undef_method method # これと method_missing だけが違う
end
end
def method_missing(msg, *arg, &block)
__getobj__.__send__(msg, *arg, &block)
end
def __getobj__
raise NotImplementError, "need to define `__getobj__'"
end
end
class Promise <UDelegator
def initialize
@proc = Proc.new
end
def __getobj__
return @obj if @obj
@obj = @proc.call
end
end
def delay(&block)
Promise.new(&block)
end
class Future <UDelegator
def initialize(&block)
@th = Thread.new(&block)
@th.abort_on_exception
end
def __getobj__
return @obj if @obj
@obj = @th.value
end
end
def future(&block)
Future.new(&block)
end
if __FILE__ == $0
class Foo
def initialize(a); @a = a; end
def [](i); @a[i]; end
def []=(i, v); @a[i] = v; end
def isa; type; end
end
puts "promise example"
foo = delay {a = Foo.new([]); for i in 1..100; print "#{i} "; a[i] = i; end; puts; a}
puts "here is `non touched' promise #{foo}"
puts "# preserved method call: promise is not evaluated here."
puts "foo.type = #{foo.type}"
puts "# unpreserved method call: promise is `touched' here."
puts "foo.isa = #{foo.isa}"
puts "foo[10] = #{foo[10]}"
puts
puts "future example"
st = 15
st = ARGV.shift.to_i if ARGV.size > 0
foo = future {sleep 10; a = Foo.new([]); for i in 1..100; print "#{i} "; a[i] = i; end; puts; a}
puts "here is `non touched' future #{foo}"
puts "# preserved method call: future is not evaluated here."
puts "foo.type = #{foo.type}"
puts "some time consuming task take place...."
sleep st;
puts "# unpreserved method call: future is `touched' here."
puts "foo.isa = #{foo.isa}"
puts "foo[10] = #{foo[10]}"
end