[#38716] 多重配列 — Teppei <te-uno@...>
宇野といいます。はじめまして。
10 messages
2003/11/01
[#38717] Re: 多重配列
— Take_tk <ggb03124@...>
2003/11/01
たけ(tk)です。
[#38724] 祝日判定用メソッド — Take_tk <ggb03124@...>
たけ(tk)です
19 messages
2003/11/02
[#38725] Re: 祝日判定用メソッド
— Beyond <beyond@...>
2003/11/02
[#38727] Re: 祝日判定用メソッド
— Tadayoshi Funaba <tadf@...5.so-net.ne.jp>
2003/11/02
ちょっと見ただけですけど、気になるところがありますね。
[#38729] Re: 祝日判定用メソッド
— Take_tk <ggb03124@...>
2003/11/02
たけ(tk)です。
[#38731] 割り算で答えの整数部分だけを取り出す方法 — "S.Nobuhiro" <s-nob@...>
Nobuhiroと申します。
5 messages
2003/11/02
[#38747] [1.8.1p2] ''リテラルの行末エスケープ — "Shirai,Kaoru" <shirai@...>
白井です。
5 messages
2003/11/03
[#38756] ruby-dev summary 21730-21822 /draft — Minero Aoki <aamine@...>
青木です。
14 messages
2003/11/05
[#38781] convert EBCDIC to SJIS — "T.Fukagawa" <tfukaga@...01.gate01.com>
深川です。
8 messages
2003/11/10
[#38787] sjis正規表現エラー@二重打ちチェック — Naohiko Barada <naob@...>
初めてレポートします。 茨田と申します。よろしくお願いいたします。
5 messages
2003/11/11
[#38796] net/http set_debug_output — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
7 messages
2003/11/15
[#38810] バックトレースの表示指定 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
5 messages
2003/11/19
[#38814] new with module — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
10 messages
2003/11/20
[ruby-list:38795] Re: How to trap widget command in Ruby/Tk
From:
Hidetoshi NAGAI <nagai@...>
Date:
2003-11-13 04:03:08 UTC
List:
ruby-list #38795
永井@知能.九工大です.
From: Tomoyuki Kosimizu <greentea@fa2.so-net.ne.jp>
Subject: [ruby-list:38794] How to trap widget command in Ruby/Tk
Date: Thu, 13 Nov 2003 11:08:00 +0900
Message-ID: <20031113.111329.59466538.greentea@fa2.so-net.ne.jp>
> Ruby/Tkで教えていただきたいことがあります。
> Tcl/Tkで:
> set t .t
> text $t -width 20 -height 5
> rename $t $t\_
> proc $t {command args} "
> set result \[eval uplevel \[list $t\_ \$command \$args\]\]
> puts \"\$command \$args\"
> return \$result"
> pack $t
> というコードがあります。これと同じことがRuby/Tkでも可能でしょうか?
Ruby/Tk は Tcl/Tk のインタープリタを直接駆動していますから,
配下の Tcl/Tk で可能なことなら,Tcl/Tk 拡張ライブラリの使用も含めて,
できないことは存在しないはずです.
上記の例を実装するならこんな感じかと思います.
-----------------------------------------------
require 'tk'
class TkTrappedText < TkText
def trap_callback(cmd, args)
p [cmd, args]
end
def create_self(keys)
super(keys)
Tk.tk_call('rename', @path, @path + '_')
@cmdid = install_cmd(proc{|cmd, args|
trap_callback(cmd, tk_split_simplelist(args))
})
Tk.ip_eval(<<EOP)
proc #{@path} {command args} {
set result [eval uplevel [list #{@path + '_'} $command $args]]
#{@cmdid} $command $args
return $result
}
EOP
end
end
t = TkTrappedText.new.pack
Tk.mainloop
-----------------------------------------------
実用上は,渡されるコマンド情報を Ruby 的に解釈する処理を
trap_callback メソッドに加えなければならないでしょう.
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp