From: nagai@... Date: 2000-04-28T11:31:19+09:00 Subject: [ruby-list:22179] TkText#dump patch 永井@知能.九工大です. 以前流した text widget の dump メソッドのパッチですが, 実に ruby らしくない仕様になってましたので修正です. 1.4.4 に間に合わせようと焦って流しましたが, やはり体調が悪いときにそんなことをしては駄目ですね. お恥ずかしい限りです. こちらの版では command オプションを与えるのにブロックを使います. それに伴い,dump_command メソッドが不要になるので削ってます. -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp --- tktext.rb.144orig Fri Apr 21 21:46:23 2000 +++ tktext.rb Fri Apr 21 21:55:44 2000 @@ -428,15 +428,9 @@ rsearch_with_length(pat,start,stop)[0] end - def dump(type_info, *index) - args = type_info.collect{|inf| - if inf.kind_of? Array - inf[0] = '-' + inf[0] - inf - else - '-' + inf - end - }.flatten + def dump(type_info, *index, &block) + args = type_info.collect{|inf| '-' + inf} + args << '-command' << Proc.new(&block) if iterator? str = tk_send('dump', *(args + index)) result = [] sel = nil @@ -546,26 +540,23 @@ end private :_retrieve_backslashed_text - def dump_all(*index) - dump(['all'], *index) + def dump_all(*index, &block) + dump(['all'], *index, &block) end - def dump_command(cmd, *index) - dump([['command', cmd]], *index) + def dump_mark(*index, &block) + dump(['mark'], *index, &block) end - def dump_mark(*index) - dump(['mark'], *index) + def dump_tag(*index, &block) + dump(['tag'], *index, &block) end - def dump_tag(*index) - dump(['tag'], *index) + def dump_text(*index, &block) + dump(['text'], *index, &block) end - def dump_text(*index) - dump(['text'], *index) + def dump_window(*index, &block) + dump(['window'], *index, &block) end - def dump_window(*index) - dump(['window'], *index) - end - def dump_image(*index) - dump(['image'], *index) + def dump_image(*index, &block) + dump(['image'], *index, &block) end end