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

November 10, 2002

[Misc] 電源が死亡

今日、パソコン使ってたら、いきなり何の前触れもなく、「ブチッ」という不気味な音とともに電源が落ち、ウンともスンとも言わなくなってしまった。

電源のファンが完全に回らなくなってしかもかなり熱くなっていたので、おそらく電源がいかれたんだろう...とあたりをつけて、急遽ツクモ下北沢店で新しい電源を購入し、マシンにつけてみたところ無事、復旧....よかった〜。もしかしたら一緒に別のパーツも死んでるかもしれないと思ってたので、被害が電源だけで済んでホント良かった。

ちなみに電源はちょっと奮発して高めなのを購入。JustyのPOWER MASTER series(HEC-425VD-T)というやつ。真静音とか書いてあるので静かなんだろうなぁと思ってたけどあまり変わらなかった。ま、いいけどね。

#これは電源以外が相変わらずうるさいからと言うこと。電源が静かになったのかどうかはちと不明。一応、念のため(^^;)。


November 10, 2003

[Ruby] wxrbbr

有馬さんによるRBBRwxRuby版。

いよいよwxRubyも実用段階に入ったということか。Ruby-GNOME2 Projectをメンテナンスしている身としては、RubyでGUIプログラミングする人はみんなRuby-GNOME2を使ってくれればどんなに良いだろうと思ってるんだけど、Ruby界(?)としてみると他のGUI Toolkitが出て来るというのは良いことだろう。ライバル出現でオレのモチベーションもあがるかもしれんし...って今以上は無理か(-o-;)。

[Ruby] RBBRファミリー

wxrbbr以外にもいくつかあるので知ってる範囲で紹介してみる。

ap-rbbr

Apollo版。Nishio Mizuhoさん作。

CocoaRBBR.app

RubyCocoa版。ドキュメント表示部分がきれい。kimura wataruさん作。

rbbr

Ruby-GNOME版。元祖rbbr。Ruby-GNOMEパッケージに含まれる。いがらしさん作。

たぶん、これで全部だと思うんだけど、他にあります?


November 10, 2007

[Rails] Rails-2.0 RC1

試してみた。scaffoldってなくなっちゃったの!?。マジですか!?

#追記:scaffoldはあるんだけど、中身=表示項目が生成されなさげ。

[Rails] Rails-2.0 RC1 with Ruby-GetText

自分で〜.erbを書き直して実行してみたら普通に日本語化された。お、こりゃ、修正なしでオーケーなのか?

(今日は?が多いな(苦笑))

[Rails] Rails-2.0 RC1 with Ruby-GetText(2)

GetText付属のRailsサンプルは動かなくなってる。うーん、なんでだ? .rhtml→.erbしないといけないのかな・・・。ダメだ、眠い。寝よ。


November 10, 2008

[Ruby] to_s, to_str, inspect

またしても違いに悩んでしまったのでメモ。Ruby 1.9.0 リファレンスマニュアルから。

  1. Object#inspect - オブジェクトを人間が読める形式に変換した文字列を返す。
    組み込み関数 Kernel.#p は、このメソッドの結果を使用してオブジェクトを表示する。
  2. Object#to_s - オブジェクトの文字列表現。
    Kernel.#print や Kernel.#sprintf は文字列以外のオブジェクトが引数に渡された場合このメソッドを使って文字列に変換する。
  3. to_str - 暗黙の変換用。
    では、暗黙の変換とは・・・。うーん、難しい。そのサブクラスが「文字列が使われるすべての場面で代置可能であるような、文字列そのものとみなせるようなものという厳しいもの」との説明。

実験。

class Test
  def to_s; "to_s"; end
  def to_str; "to_str"; end
  def inspect; "inspect"; end
end
 
t = Test.new
p t  #=> inspect
puts t #=> to_s
puts "result = #{t}"  #=> to_s
puts "result = " + t #=> to_str

to_sとinspectはいいんだけど、to_strがとても難しい。まつもとさんの説明では、「Stringと類似のメソッド集合を持たないオブジェクトはto_strを定義するべきではない」ということで、実際、Pathname#to_strが削除されているし、CSVの例では、to_strを使う場合は、そのクラス自身がStringとほぼ同じAPIを持つべしということでStringへのDelegateが推奨されている。
今、作っているクラスは、to_strがあるととてもうれしい(上の例で、to_strがないと最後の行だけ失敗するのはちょっと気持ち悪い)のだけど、そこはあえてto_sするか、"#{t}"形式を使うようにするか、としないといけないってことなのかなぁ。


追記