よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

October 03, 2003 [おもひで]

[Ruby-GNOME2] Ruby/Libgda Tutorial

Laurent入魂のチュートリアル。なかなか良くできています。

Ruby/Libgdaのみならず、GNOME Data Access (GDA)に興味のある方は是非一度お試しください。

これ、誰か日本語化してくんないかなー。

[Ruby-GNOME2] Ruby/GnomePrint

ある人がRuby/GnomePrintを実装して送ってくれたんだけど....、なんでこんなになっちゃうの?というくらい独自実装バリバリ。

あまりにイケテナイ(というかRuby-GNOME2のルールに則ってない)ので、Ruby-GNOME2 Projectの1ライブラリとするなら全部守ってね、イヤだったら別でやってね、と前置きして、ほとんど全ての事柄(クラス名の付け方やらメソッドの命名規則やら定数値の書き方やら...ってほとんどWebに載ってる情報なんだけどな)についてコメントつけて送り返した。

それにしても、なんで実装する前に他のRuby-GNOME2のライブラリのやり方とか参考にしないんだろう。

いっそ、Ruby-GNOME2 Projectとは別でやってくれると良いんだけどなー。はぁ。


October 10, 2003 [おもひで]

[Ruby-GNOME2] Ruby/GnomePrint

どーもダメだ。いろいろやりとりをしてきたんだけど、どうしても自分のやり方を貫きたいらしい。

それはそれで悪いことではないが、チームとして一緒にやっていけそうに無いタイプ。なので他でやってくれ、と先ほどメールした。向こうが折れて来ないようなら別プロジェクトとして世に出るでしょう。

まぁ、オレの英語がかなり失礼な書き方になってて向こうが態度を硬化させたのかもしれんなー。マルくいう言い方とかできないし(あ、でも日本語でもそうか(^^;))。にしても、向こうも相当失礼な書き方だったのでお互い様だな。

最初にあのコードを見た時点でちょっとヤバいかもと思ったからなー。予感的中というか。

#でも、だいぶオレの方で直したので最後の頃はもう一押しという感じにはなるにはなったのだけど...。堪忍袋の緒が切れたよ。


October 12, 2003 [おもひで]

[Ruby-GNOME2] 何のキーが押されたのか調べる

というTipsを書いてみた

[Ruby] Object#instance_eval

そういや昔も悩んだような気がするんだけど、こんな書き方ってできないのかなぁ。

class Test
   def initialize(m)
      instance_eval(m)
   end
   private
   def baz
     p "baz"
   end
end
                                                                                 
a = Test.new(%Q[
def hoge
  p "hoge"
end
                                                                                 
private       #こいつがエラー
def foo
  p "foo"
end
])

希望としては、instance_evalに渡すメソッドにpublic/protected/privateの区別を付けたいんだよね。なんか良いアイデアあります?

でも、これ、エラーメッセージが

undefined local variable or method `private' for # (NameError)

なんだよなー。privateっつーメソッドは存在してるような気がするんだけどな...。

せっかくなのでlist-MLにメールしてみた。質問でMLにメールをするのは相変わらず緊張してしまうなぁ(^^;)。


October 13, 2003 [おもひで]

[Ruby] Object#instance_eval(2)

MLに送ったら新井さんに2つほど解決策を教えていただいた。感謝です。

(案1) 引数となる文字列側で対処

class Test
   def initialize(m)
      instance_eval(m)
   end
end
 
a = Test.new(%Q[
    def hoge
      p "hoge"
    end
 
    def foo
      p "foo"
    end
 
    class <<self
    private :foo
    end
])

(案2) 受け側で対処

class Test
   def initialize(m)
     eval("class <<self;" + m + "\nend")
   end
end
 
a = Test.new(%Q[
    def hoge
      p "hoge"
    end
 
    private
    def foo
      p "foo"
    end
])

今回は引数は別ファイル化する予定なので渡す側がRubyでの使い方により近い(案2)を使おうと思います。

ちなみに、ZnZさんにもコメントを頂きました。Moduleのメソッドであっても呼べるのかと思ってました。instanceのevalだから呼べないのか。

新井さんのコメントに

「instance_evalでメソッド定義できるのが異端とも言える。」

というのがあったのだけどつまりはそういうことか...。うーんうーん。

#まだよくわかってないらしい(^^;)。

本日のツッコミ(全3件) [ツッコミを入れる]

arai [つまり、ある例外を除けばメソッド定義はselfがクラスのときしか できないように(rubyレベルでは)見えるというこ..]

arai [あっ1.8でメソッド定義がネストできるようになったのと def obj.m 形式はど こでも書けるからやっぱ sel..]

むとぽん [なるほど。 「(例外はあるけど)selfがクラスのときのみメソッドを定義できる」 ということですね。 ところで、ト..]


October 15, 2003 [おもひで]

[Ruby-GNOME2] iUK Software

Ruby-GNOME2メンテナの一人であり、ROX-RubyのメンテナでもあるGeoffのサイト。0Install, DeskRun, IconView, Locate, Mount, PHPExec, ScreenInfo, QuickNotes, TakeABreak, ROX-Term(libvteのRuby Wrapper付), Reach, TVGuide, XmC, PackageEd等、Ruby/GTK2(とROX-Ruby)を使って実装されたツールがいっぱい。すごい。

にしても、彼は絵もうまいなぁ。彼がデザインしたアイコン、とてもオシャレだ。

[Ruby-GNOME2] #ruby-gnome2 on gimp.net

Ruby-GNOME2向けのircがはじまった(てかはじまってしまった...)。

オレはircとかIMとか言うのを入れてしまうと話に参加せずにはいられなくなって他のことができなくなる可能性が高いので、今までは極力避けてきたんだけど、さすがにここだけは参加せずにはいられないだろーな....。

でも、本格デビューでいきなり英語かよ(T_T)。

まぁ、ともかく、そんなわけで興味のある人は是非参加してみてください。英語の勉強になるかと(-o-;)。

そうそう、ひとまず、Websiteのフォントが小さいと言われたので大きくしてみた。なんかこれはこれでカッコ悪いなぁ。

[Ruby] Ruby-GPGME

一瞬、Ruby-GNOMEのtypoかと思ってしまった(^^;)。

ホントは「GnuPG の機能を利用するのに便利なライブラリ GnuPG Made Easy (GPGME) への Ruby インターフェースです。」だそうです。


October 25, 2003 [おもひで]

[Hiki] ニュースプラグイン version 1.0リリース

ニュースプラグインというのを作ってみました。

これはHiki上でニュースページの生成・表示を簡単に行うようにするプラグインです。登録画面付き。生成したニュースページはそれ自体がHikiの1ページとなるので更新や削除等は通常のHikiの機能を使えます。

具体的にどのように使うかというと、Ruby-GNOME2 Project WebsiteMUTOPON7 ANNEXを参考にしてください、ってまだ登録されている情報が少ないのであまり参考になりませんが。

元々はRuby-GNOME2 Project Website用に作ったのでニュースプラグインと名付けましたが、ページ生成部分を(Rubyを知っていれば)簡単に変更することができますので、その辺をうまくカスタマイズすれば簡単なblogや日記機能として使うことができると思います。

にしてもプラグイン作ったの久しぶりだー。といっても元ネタのbbsプラグインをホゲっただけ。いやーbbsプラグインに感謝です。

おっと、忘れてた。たぶんHikiはCVS版じゃないと動かないッス。

そういえば、最近、Hiki-MLでたけうちさん見かけないんだけどどうしたんだろう。

本日のツッコミ(全3件) [ツッコミを入れる]

きた [きのうとある宴会でたけうちさんの同僚と話したんですが,最近仕事の方がかなり忙しいらしいですよ.]

たけうち [もらってるパッチもコミットできてなかったりしてすみません。来週ぐらいから復活する予定です。もうね、疲れますわ…>本業]

むとぽん [おー、ご無事そうでなによりです(^^;)。]


更新