[#3747] constants (or class vriable?) — Wakou Aoyama <wakou@...>
青山です。
原です。
青山です。
まつもと ゆきひろです
In message <199812080034.JAA05946@picachu.netlab.co.jp>
立石です。
まつもと ゆきひろです
[#3773] pack("M")/unpack("M") — shugo@... (MAEDA Shugo)
前田です。
[#3794] port NetBSD/ alpha 1.3I — SHIROYAMA Takayuki <psi@...>
[#3826] ruby 1.1d0 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
渡辺哲也です。
ふなばです。
笠原です。
前田です。
[#3851] tkutil patch (for 1.1d0) — ttate@...
立石です。
[#3859] missing/setenv.c in 1.1d0 — Inaba Hiroto <inaba@...>
稲葉です。こんなにパッチがあると、みのがされてしまうかも。
[#3862] 1.1d0 new here document — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
[#3873] (?: ) does not work? — shugo@... (MAEDA Shugo)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
白山@Stellarです。
[#3881] I want to catch all jump — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
[#3894] ruby 1.1d1 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
[#3899] interpreter reinitialization — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
[#3962] ruby 1.3(!) released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#3966] [BUG] exception in safe level 4 — shugo@... (Shugo Maeda)
前田です。
[#3997] [BUG] "#{}" while 1 — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
[#4002] config.guess — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
笠原です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
[#4005] [BUG] ruby 1.3(98/12/24) [i686-linux] at rb_gc_mark() — Ryo HAYASAKA <hayasaka@...>
早坂@会津大学といいます。
In message "[ruby-dev:4005] [BUG] ruby 1.3(98/12/24) [i686-linux] at rb_gc_mark()"
早坂@会津大学です。
[#4015] Integer proper methods — gotoken@... (GOTO Kentaro)
ごとけんです
[#4030] module Precision — gotoken@... (GOTO Kentaro)
ごとけんです
ごとけんです
まつもと ゆきひろです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
ごとけんです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
最近あんまり建設的でないわたし.
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
原です。
[#4032] [Req] make-symbol? — shugo@... (Shugo Maeda)
前田です。
[ruby-dev:3841] Re: List()
原です。
> 前田です。
> ほんとはString#scanのようなメソッドも一応すべてListを使うように
> 変更した方がよいと思うのですが。
ほんとはそうですね。でも変更してもしなくてもユーザーにはほとんど
関係ないでしょうね。scan(...) { |*x| ... と使っていた人はほとん
どいないでしょうから。でもほんとは List を使うべきです。
> いや、each_with_indexの挙動を変えるかどうかは別の議論が必要だと
> 思うのですが、ユーザが
なるほど、Hash#each は yield(k, v) に変えて each_with_index
はそのままなわけですね。あれ、それでいいではないですか。なぜ私
はそれに気づかなかったのだろう。この方法なら非互換性はかなり少
なくなります。
> # ひょっとしたら僕の主張がeach_with_indexの挙動を変えるべきだと受け
> # 取られていたために議論がすれちがっていたのでしょうか。
それもあります。しかし、each_with_index は変えるべきだと思い込
んでいた自分自身が理解不能です。
、、、と思ったんだけど、思い出しました。風が吹くと桶屋がもうかる式論理
ですが説明します。
List 方式を導入したら Enumerable の多くのメソッドを書き換えたく
なる。なぜなら現在はたとえば collect は
(あ)
def collect
ary = []
each { |x|
ary.push yield(x)
}
ary
end
という定義ですが、List 方式が導入されたらやはり
(い)
def collect
ary = []
each { |*x|
ary.push yield(*x)
}
ary
end
と書き換えたくなってしまう。なぜなならこっちのほうがずっときれいだ
(与えられた物をそのまま渡している)から。しかもこう変えることによ
って組み込みクラスに対する collect の動作は(ほとんど)変わらない
というのも(い)にしたくなる理由です。
さらに collect がこうなるなら each_with_index も
(う)
def each_with_index
i = 0
each { |x|
yield(x, i) #or yield([x, i])
i += 1
}
end
から
(え)
def each_with_index
i = 0
each { |*x|
yield(*(x + i))
i += 1
}
end
に書き換えたくなるのが人情:-)というもの。ただし(え)の場合は
Hash#each が yield([k, v]) のままならいいが、yield(k, v) と
すると(それが本来の姿ではあるが)非互換になってしまう。よって
yield([k, v]) 方式のままにしておこうか。
、、、という論理だったのです。
話を戻すと、Enumerable のメソッドの定義はそのままで Hash#each は
変える。その方式はありえると思います。気に入らなければユーザーが
再定義すればいいですから。
> 今日、結局穴だらけのままで提出してきました(^^;
おめでとうございます。ruby をいじる時間が減ったりして。:-)