[#30232] [patch] rb_type(): シンボル型に対する型判定が怪しい — "Yoshinori Sano" <yoshinori.sano@...>
さの よしのり です。
6 messages
2007/02/01
[#30241] 質問: 関数風メソッド呼び出しのYARV命令列について — "Yoshinori Sano" <yoshinori.sano@...>
さの よしのり です
7 messages
2007/02/01
[#30259] getinstancevariable2 — SASADA Koichi <ko1@...>
ささだです。
5 messages
2007/02/05
[#30263] exception on Singleton — SASADA Koichi <ko1@...>
ささだです。
10 messages
2007/02/05
[#30273] Re: exception on Singleton
— SASADA Koichi <ko1@...>
2007/02/05
ささだです.
[#30332] Re: exception on Singleton
— SASADA Koichi <ko1@...>
2007/02/14
ささだです。
[#30284] Re: 1.8.5 release on 3/3 — Urabe Shyouhei <shyouhei@...>
卜部です。1.8.5も3/3に同時リリースするといいと思いました。
14 messages
2007/02/06
[#30293] Re: 1.8.5 release on 3/3
— Shugo Maeda <shugo@...>
2007/02/06
前田です。
[#30307] Re: [ruby-cvs:18927] Ruby:r11679: * ext/thread: Make style fixes (mostly de-K&R'ism) to match the — Nobuyoshi Nakada <nobu@...>
なかだです。
8 messages
2007/02/09
[#30312] Re: [ruby-cvs:18927] Ruby:r11679: * ext/thread: Make style fixes (mostly de-K&R'ism) to match the
— "Akinori MUSHA" <knu@...>
2007/02/10
At Sat, 10 Feb 2007 00:00:44 +0900,
[#30321] [ruby_1_8] can't grub Digest::SHAxxx on powerpc-darwin — Tadashi Saito <shiba@...2.accsnet.ne.jp>
こんばんは。斎藤と申します。
5 messages
2007/02/11
[#30328] Re: [ruby-cvs:18955] Ruby:r11707: * ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
3 messages
2007/02/13
[#30338] backporting URI to ruby_1_8 — "Akinori MUSHA" <knu@...>
lib/uri を trunk から ruby_1_8 にマージします。
7 messages
2007/02/14
[#30362] Re: class local instance variable — "Park Ji-In" <tisphie@...>
44GT44KT44Gw44KT44Gv44CC5py0IOiKneWNsCDjgajnlLPjgZfjgb7jgZnjgIIKCuWIneOCgeOB
5 messages
2007/02/16
[#30373] Ruby 1.8.6 preview1 has been released — "Akinori MUSHA" <knu@...>
Ruby 1.8.6 preview1 をリリースしました。
5 messages
2007/02/17
[#30396] unsupported: th_call0 in 1.9 — "KUBO Takehiro" <kubo@...>
久保です。
5 messages
2007/02/21
[#30404] ruby-1.8 で SEGV — Tomoyuki Chikanaga <chikanag@...>
日本コントロールシステム(株)の近永と申します。
6 messages
2007/02/24
[#30433] Re: ruby-1.8 で SEGV
— Chikanaga Tomoyuki <chikanag@...>
2007/02/26
日本コントロールシステム(株)の近永と申します。
[#30407] Arrayのメソッド増強について — Minero Aoki <aamine@...>
青木です。
7 messages
2007/02/24
[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>
Ruby 1.8.6 preview2 をリリースしました。
20 messages
2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released)
— Hidetoshi NAGAI <nagai@...>
2007/02/25
永井@知能.九工大です.
[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released)
— Nobuyoshi Nakada <nobu@...>
2007/02/25
なかだです。
[#30419] Re: fail to autoload at $SAFE==4
— Hidetoshi NAGAI <nagai@...>
2007/02/25
永井@知能.九工大です.
[#30434] Re: fail to autoload at $SAFE==4
— Nobuyoshi Nakada <nobu@...>
2007/02/27
なかだです。
[#30435] Re: fail to autoload at $SAFE==4
— Hidetoshi NAGAI <nagai@...>
2007/02/27
永井@知能.九工大です.
[#30437] Re: fail to autoload at $SAFE==4
— "Nobuyoshi Nakada" <nobu@...>
2007/02/27
なかだです。
[#30412] fastthreadについて — Shugo Maeda <shugo@...>
前田です。
9 messages
2007/02/25
[#30439] Re: MIME decoding confused by non-MIME characters — Urabe Shyouhei <shyouhei@...>
-devに振ってみる。
9 messages
2007/02/27
[#30440] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
はじめてこちらには postします。相馬と申します。
[#30441] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
相馬です。
[#30445] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
相馬です。
[ruby-dev:30423] Re: Arrayのメソッド増強について
From:
Yukihiro Matsumoto <matz@...>
Date:
2007-02-26 03:21:59 UTC
List:
ruby-dev #30423
まつもと ゆきひろです
In message "Re: [ruby-dev:30407] Arrayのメソッド増強について"
on Sat, 24 Feb 2007 14:21:37 +0900, Minero Aoki <aamine@loveruby.net> writes:
|1.9 で String#each がなくなりましたが、どうにも不便です。
|なんで不便なのか考えてみたところ、Array のメソッドが
|String に比べて弱いのが原因ではないかと考えるようになり
|ました。そこで、以下のようなメソッドを新たに導入する
|ことを提案します。
仕様が簡単で、名前も納得できたtakeとdropは早速trunkに取り込
みます。残りはもうちょっと考えましょう。
|--- Enumerable#split(max = nil) {|item| .... }
|
|each で得られる要素を順番にブロックに渡し、ブロックが
|真を返したところで分割して、配列の配列を返す。最大 max
|個まで分割する。max = nil のときは無制限に分割する。
|(非破壊的)
|
|例
| p [1, 2, 3, 4, 5].split {|i| i % 2 == 0 } #=> [[1], [3], [5]]
|
|他の言語での例: Haskellのbreakを繰り返し適用する場
|合に相当
String#splitとの類推が効くという話ではありますが、逆に引数パ
ターンがちょっと違うので混乱しそうな気もします。Stringはもう
Enumerableをincludeしていないので問題ないのかな?
|--- Enumerable#span {|item| ... }
|
|配列の要素のうちブロックが真を返す先頭部分と残りの部分に
|分割して 2 要素の配列で返す。(非破壊的)
|
|例
| p [1, 2, 3, 1, 2, 3].span {|item| item < 3 } # => [[1, 2], [3,
|1, 2, 3]]
|
|他の言語での例: Haskellのspan
個人的にはこの動作にspanという名前は違和感があるのですが。
Haskellが採用しているなら問題ないのかな?
|--- Array#take {|item| .... } 別名案:take_while, slice{}
|
|配列の要素のうちブロックが真を返す要素を先頭から
|すべて集めて配列で返す。(非破壊的)
|
|例
| p [1, 2, 3, 2, 1].take {|i| i < 3 } # => [1, 2]
|
|他の言語での例: HaskellのtakeWhile
ary.take(n) # 最初のn要素
ary.take{|x| cond(x)} # 上記の仕様
で実装しました。近いうちに(今日中?)コミットします。
|--- Array#drop {|item| .... } 別名案:lstrip, drop_while,
|reject_head
|
|配列の要素のうちブロックが真を返す要素を先頭から
|すべて除いた残りの配列を返す。(非破壊的)
|
|例
| p [1, 2, 3, 4, 5].drop {|i| i < 3 } # => [3, 4, 5]
|
|他の言語での例: HaskellのdropWhile
takeと同様。このメソッドはgeneratorを使うなどして遅延評価で
きたらいいなあと夢想しないでもないですが。
|--- Array#reverse_drop {|item| .... } 別名案:rstrip,
|reject_tail, reject_last
|
|配列の要素のうちブロックが真を返す要素を末尾から
|すべて除いた残りの配列を返す。(非破壊的)
|
|例
| p [1, 2, 3, 4, 5].reverse_drop {|i| i > 3 } # => [1, 2, 3]
名前に違和感があります。String#rindexからの類推だとrdropなん
ですが...。
|--- Array#drop_both {|item| .... } 別名案:strip
|
|配列の要素のうちブロックが真を返す要素を先頭と末尾の
|両方からすべて除いた残りの配列を返す。(非破壊的)
|
|例
| p [1, 2, 3, 4, 3, 2, 1].drop_both {|i| i < 3 } # => [3, 4, 3]
これも名前が。stripってのも分かるような分からないような。
まつもと ゆきひろ /:|)