[#25808] break & retry in block — Shin-ichiro HARA <sinara@...>

原です。

15 messages 2005/03/04

[#25812] Re: [ruby-cvs] ruby/test/ruby, ruby/test/logger, ruby/sample, ruby/misc, ruby/lib/xmlrpc, ruby/lib/wsdl/soap, ruby/lib/rexml, ruby/lib/rdoc/parsers, ruby/lib/rdoc/generators, ruby/lib/irb, ruby/lib, ruby/ext/zlib, ruby/ext/win32ole, ruby/ext/tk, ruby/ext/strscan, ruby/ext/socket, ruby/ext/readline, ruby/ext/pty, ruby/ext/openssl, ruby/ext/iconv, ruby/ext/etc, ruby/ext/dl, ruby/ext/curses, ruby/ext/bigdecimal, ruby/ext/Win32API, ruby: * array.c: replace rb_protect_inspect() and rb_inspecting_p() by — Tanaka Akira <akr@...17n.org>

In article <20050304064753.53859C671F@lithium.ruby-lang.org>,

3 messages 2005/03/06

[#25853] conflict method and local variable — Hidetoshi NAGAI <nagai@...>

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

56 messages 2005/03/10
[#25854] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/10

まつもと ゆきひろです

[#25855] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/10

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

[#25856] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/10

まつもと ゆきひろです

[#25857] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

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

[#25858] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/11

まつもと ゆきひろです

[#25861] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

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

[#25863] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/11

まつもと ゆきひろです

[#25864] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

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

[#25865] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/11

まつもと ゆきひろです

[#25866] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

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

[#25869] Re: conflict method and local variable — Shugo Maeda <shugo@...> 2005/03/13

前田です。

[#25875] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/13

まつもと ゆきひろです

[#25878] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/13

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

[#25882] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/13

まつもと ゆきひろです

[#25884] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/14

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

[#25885] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/14

まつもと ゆきひろです

[#25888] Re: conflict method and local variable — Shugo Maeda <shugo@...> 2005/03/14

前田です。

[#25946] ext/tk/sample/**/*.gif are broken — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

16 messages 2005/03/27

[#25959] some trouble on ext/tk/sample — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

20 messages 2005/03/29
[#25969] Re: some trouble on ext/tk/sample — Hidetoshi NAGAI <nagai@...> 2005/03/30

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

[#25970] Re: some trouble on ext/tk/sample — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/03/30

山本です。

[#25973] Re: some trouble on ext/tk/sample — Hidetoshi NAGAI <nagai@...> 2005/03/31

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

[ruby-dev:25912] Re: conflict method and local variable

From: Hidetoshi NAGAI <nagai@...>
Date: 2005-03-15 03:11:15 UTC
List: ruby-dev #25912
永井@知能.九工大です.

From: Yukihiro Matsumoto <matz@ruby-lang.org>
Subject: [ruby-dev:25903] Re: conflict method and local variable
Date: Tue, 15 Mar 2005 00:03:43 +0900
Message-ID: <1110812611.172825.10992.nullmailer@x31.priv.netlab.jp>
> 具体的には、どのファイルで定義されているどのクラスのどのメソッ
> ドなどでしょうか。具体例を見ると「やっぱこの案は駄目だ」とい
> う気になるかもしれません。

汚いソースで申し訳ないですが,例えば

 tk.rb : TkTreatFont モジュール
    __font_optkeys メソッドと __pathname メソッド
       フォントを扱う属性が複数ある場合には __font_optkeys を再定義.
       ウィジェットパスとタグ名など複合での指定を要する場合は
       __pathname を再定義.

 tk.rb : TkConfigMethod モジュール (TkTreatFont を include)
    __cget_cmd, __config_cmd, __confinfo_cmd, __configinfo_struct, 
    __numval_optkeys, __numstrval_optkeys, ... 等のメソッド
       cget, configure などの属性操作メソッドで利用.
       ウィジェットが取りうる属性により必要に応じて再定義.

 tk/itemconfig.rb : TkItemConfigOptkeys モジュール
    __item_numval_optkeys(id), __item_numstrval_optkeys(id) 等
       TkItemConfigMethod モジュールから利用.

 tk/itemconfig.rb : TkItemConfigMethod モジュール
    __item_cget_cmd(id), __item_config_cmd(id) 等
       itemcget, itemconfigure などのアイテム属性操作メソッドで利用.

です.
返すのが固定値ではないような置き換えとしては,
tkextlib/blt/treeview.rb の Tk::BLT::Treeview::ConfigMethod 辺りが
例になるかと思います.

# 定数,あるいは proc を代入した定数とすることも
# 不可能ではないかとは思いますが...

> ただ、この例にある「他への影響を考えて親クラスには手を入れな
> い」というのは、さりげなく本案に対して圧倒的に不利な前提だと
> 思います。

確かにそうですね.(^_^)

>           「override されることまでは考えていなかった」クラ
> スをよりよく利用するために「self.」を追加することは、(強制さ
> れる人には不愉快かもしれませんが)それほど不当な要求ではない
> と思います。

ですが,変更の影響は従来よりも大きくなると予想されますから,
従来より変更がためらわれるのも事実ではないでしょうか.
よりよく利用するために親クラスで「self.」を追加しただけで,
ユーティリティメソッド的に同名メソッドを使っていた
他のサブクラスではいきなり動かなくなってしまいますので.

# 念のための再確認ですが,変更後は private も self. 付きで
# (許されるレシーバは self のみで?) 呼べるようになると
# いうことですよね?
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread