From: matz@... (Yukihiro Matsumoto) Date: 2001-02-16T13:17:05+09:00 Subject: [ruby-list:27919] Re: ParseDate.to_time まつもと ゆきひろです In message "[ruby-list:27914] Re: ParseDate.to_time" on 01/02/16, Nakamura Akifumi writes: |> |きれいに分離できる「なら」、既存コードの冒頭に |> |require "UnixTime"; include UnixTime |> グローバルな状態を変えるんじゃだめでしょう。新旧共存できないから。 | |「グローバルな状態」って何ですか? トップレベルでincludeしちゃったら影響範囲がプログラム全体に 及ぶという意味ですが。 |> |#一行書くのも駄目なんかな。なるほどキッチンのシンクは恐ろしいですね…。 |> なにを一行書くこと? | |require "UnixTime"; include UnixTime | |を。 | |まぁ1行とて書き換え(足し)たくないってのは、現実問題としては |おおいに有るとは思いますが、それ言ったら今までも数多有ったような |rubyの仕様変更は、全部手をつけられなくなるわけだし。 その1行を正当化できるほど問題が解決するなら、いくらでも。 ただ、 * include UnixTimeしたら、新しいTimeを使っているライブラリ が使えないようでは困る。 * トップレベルでinclude UnixTimeする方法では、その「困る」 事態が発生することを回避できない。 * さらに仮に上記の点を回避できたとしても、大量のスクリプト に書き換えを要求するほど、この問題の解決が嬉しいものかど うか不明。 という点を置いておいて、「一行書くのもだめ」というコメントは 先を急ぎすぎだと思います。 |> なにがキッチンシンク? | |キッチンシンクなる語の意味を俺が何年も誤解してるならすみません。 |「いろんなもの"一箇所に"入れちゃったら後でごちゃごちゃになるよね」 |という意味なのだと思っていました。 この問題はいろんなものを一箇所に入れたから起きたのではないと 思いますけど。UNIX(POSIX)が制限のあるtime_tの実装と固く結合 しすぎているせいで、それはキッチンシンク(ごちゃごちゃしてる) というイメージとは別の問題だと思います。 |あ。別にinclude「しないと駄目だ」と言っているわけじゃないです。 |includeしたほうが都合が良いscriptも多数あろう、そうでないのも |多数あろう、という話です。 「includeしたほうが都合が良いscript」が「そうでないライブラ リ」を使うことを許さねばならないだろうというのが、この問題の 難しさです。 まつもと ゆきひろ /:|)