[#29621] Re: [ruby-cvs:18312] ruby, ruby, ruby/lib/test/unit, ruby/lib/test/unit/collector: * common.mk (test-all): separate directory where running test cases — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
3 messages
2006/10/02
[#29625] undefining `funcall' may cause serious problem I think — URABE Shyouhei <root@...>
卜部です。以下のような
6 messages
2006/10/02
[#29626] Re: undefining `funcall' may cause serious problem I think
— Yukihiro Matsumoto <matz@...>
2006/10/02
まつもと ゆきひろです
[#29637] Module.new — WATANABE Hirofumi <eban@...>
わたなべです。
5 messages
2006/10/05
[#29643] [patch] REXMLでDTDを読み込む — 堀川久 <vzw00011@...>
こんにちは。
6 messages
2006/10/09
[#29651] Digest'ifying OpenSSL::Digest — "Akinori MUSHA" <knu@...>
(主に)ゆぞさん
6 messages
2006/10/13
[#29652] Re: [ruby-cvs:18412] ruby: — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
1 message
2006/10/13
[#29656] Re: [ruby-cvs:18412] ruby: — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
1 message
2006/10/13
[#29669] erb does not work — Minero Aoki <aamine@...>
青木です。
6 messages
2006/10/17
[#29672] gsub で taint になる — とみたまさひろ <tommy@...>
とみたです。
6 messages
2006/10/19
[#29692] rubybugs updated — URABE Shyouhei <root@...>
本件はみなさまにも関係するので、MLにてアナウンスします。
5 messages
2006/10/23
[#29698] *LDFLAGSについて — "Yutaka Kanemoto" <kinpoco@...>
金本ともうします。
7 messages
2006/10/26
[#29700] ruby NKF モジュールの CP932 系エンコーディングパッチ — MORIYAMA Masayuki <moriyama@...>
ミラクルリナックスの森山です。
10 messages
2006/10/27
[#29726] cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...>
MoonWolfです。
74 messages
2006/10/31
[#29728] Re: cgi.rbのDoS脆弱性について
— Yukihiro Matsumoto <matz@...>
2006/11/01
まつもと ゆきひろです
[#29729] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/01
MoonWolfです。
[#29731] Re: cgi.rbのDoS脆弱性について
— Yukihiro Matsumoto <matz@...>
2006/11/01
まつもと ゆきひろです
[#29745] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/02
MoonWolfです。
[#29746] Re: cgi.rbのDoS脆弱性について
— Takahiro Kambe <taca@...>
2006/11/02
In message <4549F2CA.7000802@moonwolf.com>
[#29752] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/03
MoonWolfです。
[#29755] Re: cgi.rbのDoS脆弱性について
— Takahiro Kambe <taca@...>
2006/11/03
In message <454AA560.9090105@moonwolf.com>
[#29751] Re: cgi.rbのDoS脆弱性について
— "U.Nakamura" <usa@...>
2006/11/02
こんにちは、なかむら(う)です。
[#29753] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/03
MoonWolfです。
[#29754] Re: cgi.rbのDoS脆弱性について
— "U.Nakamura" <usa@...>
2006/11/03
こんにちは、なかむら(う)です。
[#29756] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/03
MoonWolfです。
[#29759] Re: cgi.rbのDoS脆弱性について
— "U.Nakamura" <usa@...>
2006/11/03
こんにちは、なかむら(う)です。
[#29780] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/04
MoonWolfです。
[#29784] Re: cgi.rbのDoS脆弱性について
— "U.Nakamura" <usa@...>
2006/11/04
こんにちは、なかむら(う)です。
[#29786] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/04
MoonWolfです。
[#29791] Re: cgi.rbのDoS脆弱性について
— Yukihiro Matsumoto <matz@...>
2006/11/04
まつもと ゆきひろです
[#29811] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/05
MoonWolfです。
[#29818] Re: cgi.rbのDoS脆弱性について
— Yukihiro Matsumoto <matz@...>
2006/11/05
まつもと ゆきひろです
[#29826] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/05
MoonWolfです。
[#29841] Re: cgi.rbのDoS脆弱性について
— Yukihiro Matsumoto <matz@...>
2006/11/05
まつもと ゆきひろです
[#29843] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/05
MoonWolfです。
[#29847] Re: cgi.rbのDoS脆弱性について
— Yukihiro Matsumoto <matz@...>
2006/11/06
まつもと ゆきひろです
[#29873] Re: cgi.rbのDoS脆弱性について
— "U.Nakamura" <usa@...>
2006/11/06
こんにちは、なかむら(う)です。
[#29875] Re: cgi.rbのDoS脆弱性について
— MoonWolf <moonwolf@...>
2006/11/06
MoonWolfです。
[#29876] Re: cgi.rbのDoS脆弱性について
— "U.Nakamura" <usa@...>
2006/11/06
こんにちは、なかむら(う)です。
[#29761] Re: cgi.rbのDoS脆弱性について
— 植田 裕之 <ueda@...>
2006/11/03
植田と申します。
[#29764] Re: cgi.rbのDoS脆弱性について
— Yukihiro Matsumoto <matz@...>
2006/11/03
まつもと ゆきひろです
[#29772] Re: cgi.rbのDoS脆弱性について
— Shugo Maeda <shugo@...>
2006/11/04
前田です。
[#29774] Re: cgi.rbのDoS脆弱性について
— Shugo Maeda <shugo@...>
2006/11/04
前田です。
[ruby-dev:29690] Re: Enumerable#each_* and Enumerable#enum_* on 1.9
From:
Yukihiro Matsumoto <matz@...>
Date:
2006-10-23 07:38:52 UTC
List:
ruby-dev #29690
In message "Re: [ruby-dev:29689] Re: Enumerable#each_* and Enumerable#enum_* on 1.9"
on Mon, 23 Oct 2006 15:10:58 +0900, "U.Nakamura" <usa@garbagecollect.jp> writes:
|
|こんにちは、なかむら(う)です。
|
|In message "[ruby-dev:29688] Re: Enumerable#each_* and Enumerable#enum_* on 1.9"
| on Oct.23,2006 13:17:39, <matz@ruby-lang.org> wrote:
|| |> String.each_line.map{|x| x*2}
|| |>
|| |> のようなケースは何をやっているのかはっきり分かります。要する
|| |> に、要素をひとつずつ与えるようなブロックの使い方をするメソッ
|| |> ド(仮にeach系と呼びましょう)以外は、Enumerable::Enumeratorを
|| |> 返しても全然嬉しくないということです。
|| |
|| |enum.map.with_index とか eanum.find.with_index のようにEnumeratorのメ
|| |ソッドと組み合わせて使うもんじゃないでしょうか。
||
|| enum.map{}.with_indexとかならともかく、enum.map.with_indexに
|| なんの意味があるのかと。意味的にはenum.to_a.each_with_index
|| と同じわけですから。
|
|いやいや、eachとmapには戻り値が違うという決定的な差があります。
|よって、
| p enum.map.with_index{|e,i|...} #(A)
|と書くことができなくなると、同じことを実現するためには、
| a = []; enum.to_a.each_with_index{|e,i|a<<...}; p a #(B)
|または
| p enum.to_enum(:map).with_index{|e,i|...} #(C)
|という記述が必要になります。
|
|
|そもそも、Enumerable::Enumeratorは、内部的でeachを決めうちで
|使うブロック付きメソッドでeach以外を使ってほしい場合があるか
|ら考案されたものだと理解しています。
同意します。
|つまり、(B)のように書くのがアホみたいだから(C)と書けるように
|した、ということですね。
|そして、1.9の現状の仕様は、(C)といちいち書くより(A)と書けた方
|が嬉しいじゃん、ということだと思っていたのですが...
(B)のように書くのがアホみたい(A)の方が良いというのは分からな
いでもありません。とはいえ、with_indexと言いたいだけのために
mapがEnumeratorを返すようにするってのもなんか変な気がします。
そもそもブロックを省略したmapってなによって話になりますし。
要素そのものをmapする(つまりブロックの省略は{|x|x}と同じ) と
解釈するならば(その解釈は自然だと思いますが)、mapは
Enumeratorを返してはいけない、通常のmapと同じものを返さなく
てはいけません。ブロック付きのmapがEnumeratorを返さない以上、
各要素を返すEnumeratorが欲しくても、その名前は少なくともmap
ではないと思います。ちょっと考えるとentriesが思いつきますが、
今はto_aの別名ですね。
|| 「便利な場合が思いつかないから廃止しよう」と言ってるわけです
|| から、「便利な場合がある」なら廃止しません。
|
|こんなことに使ったりしてます。便利です。
|http://www.garbagecollect.jp/~usa/d/200608a.html#id20060810_P1
たとえばこういうことですよね。
ARGF.binmode.each_byte.with_index{|b, i|
print '%08x:' % i if i % 16 == 0
print ' %02x' % b
puts if i % 16 == 15
}
こういうのでどうかと思います。
ARGF.binmode.bytes.with_index{|b, i|
print '%08x:' % i if i % 16 == 0
print ' %02x' % b
puts if i % 16 == 15
}
もっと短いし。もっともbytesがなにを返すべきかにはruby-core方
面でもやや異論があるようですが。もうちょっと置き換え可能でな
い例はないかなあ。
まつもと ゆきひろ /:|)