まつもと ゆきひろです

In message "[ruby-dev:5034] Re: Integer#format"
    on 99/02/12, Koji Arai <JCA02266 / nifty.ne.jp> writes:

|> もうちょっとナニが欲しいのか詰めましょう.今出てるのは
|> 
|>   * 数値の各種表記(8進とか)に対応した文字列変換
|> 
|>   * 1引数のprintfのalias
|
|まつもとさんは、この2つをわけて考えてたんですね。
|私は、後者が欲しくて前者は後者の略記法程度に考えて
|ました。
|
|いや、確かに必要なのは前者かも。十分な表現力を持っ
|た前者があれば事足りるようにも思えるので、こちらで
|話を進めても構いません。ただ、複雑な引数をもったた
|くさんのメソッドを定義するよりはprintf式フォーマッ
|トが使えれば、実装が簡単でユーザが覚えることも少な
|くて済むのでいいかなとも思います。
|
|一応、もう一度私の欲するところを書くと
|
|  STDOUT << "hoge" << 10 << "\n"
|
|と書いた後16進表記が欲しくなって
|
|  STDOUT << "hoge" << format("%x", 10) << "\n"
|
|と書くのは気持がねじ曲がる思いがします。でも、
|
|  STDOUT << "hoge" << 10.format("%x") << "\n"
|
|こう書けるとおちつきます。こういう感覚は変ですか?
|(もし、変なら根本から間違ってるので指摘してくださ
|い)

誰かの考えを変だと言い切るのは(冗談とかならともかく)なかなか
いろいろあるものですが,個人的には << ってのはとにかく出力し
たいとき(print みたいな)に使うもので,

  print "hoge", format("%x", 10), "\n"

をあまり使わないのと同様に使わないように思っています.また,
既に書いちゃったものをなんとかしたい場合には

|  STDOUT << "hoge" << "0x%x"%10 << "\n"

が使えると思います.まだ,気分悪いですか?

|# to_strが既にあるってのは知りませんでした。マニュ
|# アルには載ってないけど確かにソースには入ってる。
|# 勉強しますです。

まだドキュメントに載ってない隠し機能はまだいくつかあります.
to_ioとか.
                                まつもと ゆきひろ /:|)