かんだです。

TAKAHASHI Masayoshi <maki / inac.co.jp>さんの書かれた、
	「[ruby-list:10057] Re: ruby/gtk method naming (Re:  Re: Ruby/Gtk	 text	 widget)」
からの引用です。

> 高橋です。
> 
> "D.Kanda" <MAP2303 / mapletown.net>さん:
> >>>   これ、gtk_insert_text とかいう関数名になってます。
> 
> ↑これ、 gtk_text_insert_text のことだったんですね (^^;;

  あ、書き間違えてましたね。


> ……で、まだちょっと話が分かってないのですが、gtkには
> 
> ・gtk_text_insert
> ・gtk_text_insert_text
> 
> の二つがある、と。で、後者の名前をどうするか、ということでしょうか?

  そうです。


> これって、元のgtkに合わせて、
> 
> ・色とフォントを指定するのは Gtk::Text::insert(font,frcolor,bgcolor,str)
> ・両方ともデフォルトを使うのが Gtk::Text::insert_text(str)
> 
> ってことでいいと思うのですが。

  この場合はこれでもいいんですけれど。
  でも、構造体のメンバを直接見る場合に関数名がぶつかる場合があったような
気がするんだけれど…見つからないなぁ。
  うーん、とりあえず insert... は問題ないし、簡単だから Gtk の名前にして
おこうかな。

  でも、例えば今の

     Gtk::Container::border_width(w)
     Gtk::Container::get_border_width

  なんかは、

     Gtk::Container::border_width=(w)
     Gtk::Container::border_width

  に変更するでしょう。これは Gtk というより構造体のメンバアクセスを ruby
に移すときのメソッド名の話ですね。

  ちなみに、
 
     Gtk::Container::set_border_width(w)
     Gtk::Container::get_border_width

  にすれば他の Gtk の関数と名前付けが一致するんだけれど、すでにある Gtk の
関数名と重なる場合があったような気がするなぁ。


> それとも、一つにまとめて、
> 
> ・Gtk::Text::insert(str, [ font, frcolor, bgcolor] )
> 
> みたいにする、ということでしょうか。引数の順序が変わるのは
> 問題になったりしないのであれば、これでも構わないんじゃないかと。

  拡張モジュールを書く場合は結構融通がきいて、全く違う引数のパターンもとれ
ますから、gtk に合わせることができるでしょう。面倒だけど。