[#38725] [Bug #1720] [NaN] == [NaN] が true になる — tadayoshi funaba <redmine@...>
Bug #1720: [NaN] == [NaN] が true になる
[#38731] FreeBSD で ruby-mecab のライブラリ参照の不具合 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
[#38762] Re: [ruby-cvs:31110] Ruby:r23892 (trunk): * rational.c (float_to_r): always returns rational. — "Yugui (Yuki Sonoda)" <yugui@...>
On 6/29/09 8:31 PM, tadf@ruby-lang.org wrote:
[#38782] [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
永井@知能.九工大です.
こんにちは、なかむら(う)です。
永井@知能.九工大です.
こんにちは、なかむら(う)です。
永井@知能.九工大です.
こんにちは、なかむら(う)です。
永井@知能.九工大です.
永井@知能.九工大です.
こんにちは、なかむら(う)です。
押田です。
[#38821] セキュリティモデルのドキュメント — Shugo Maeda <shugo@...>
前田です。
[#38836] ext/tk/extconf.rb creates a file in $srcdir — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#38843] 複素数リテラルについて — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
> * 互換性はどうか。大丈夫のはずだが、見落としは
遠藤です。
> は十分検討されたのでしょうか。積極的に反対なわけではないですが、
遠藤です。
> 読み書きがやさしいのはわかるんですが、1+2i が書けても 1+ni が書けない
[#38850] Rational#hash — Tadayoshi Funaba <tadf@...>
いつだったか、rational などの hash が変ったようですが、意味が解っていな
[#38900] rb_eval_string_protect and encoding — Masaki Suketa <masaki.suketa@...>
助田です。
なかだです。
助田です。
[#38912] String#valid_encoding?にオプションが欲しい — Fujioka <fuj@...>
xibbarこと藤岡です。(なぜか届かないので再送します)
成瀬です。
xibbarです。
xibbarです。
まつもと ゆきひろです
成瀬です。
まつもと ゆきひろです
[#38924] thread switch hook for RubyCocoa — Nobuyoshi Nakada <nobu@...>
なかだです。
木村わ@RubyCocoaチーム/MacPorts port:rubyメンテナです。
木村わ@RubyCocoaです。
[#38932] Enumerator#peek — Tanaka Akira <akr@...>
Enumerator#peek を新設するのはどうでしょうか。
けいじゅ@いしつかです.
In article <E1MVnmx-00046e-PP@keiju.ishitsuka.com>,
けいじゅ@いしつかです.
In article <E1MW8kB-0001fM-56@keiju.ishitsuka.com>,
[#38938] Re: [ruby-list:46234] Re: irbでの式展開中の動作について — keiju@... (石塚圭樹)
けいじゅ@いしつかです.
[#38971] [Bug #1848] Net::SSH hangs — Shyouhei Urabe <redmine@...>
Bug #1848: Net::SSH hangs
チケット #1848 が更新されました。 (by Shyouhei Urabe)
Shyouhei Urabe さんは書きました:
[ruby-dev:38935] Re: Enumerator#peek
In article <E1MVnmx-00046e-PP@keiju.ishitsuka.com>,
keiju@ishitsuka.com (石塚圭樹) writes:
> あるグループに分けて集計したいなら, 下記のような方が Ruby ぽいかも.
>
> a = %w[banana banana durian orange orange orange]
> a.group_by{|w| w}.each{|key, values| puts "#{key} #{values.size}"}
>
> MapReduce系では上記のような感じで書くことが多いと思います.
group_by は残念なことにぜんぶメモリに読み込むことになるんで
すよね。
ソート済みであることを前提としてシーケンシャルに処理できるメ
ソッドも当然あり得て、それはそれで考えています。
[ruby-dev:38392] から始まるスレッドで、ちょっとほったらかし
にしているのですが、忘れているわけではありません。
そういう、シーケンシャルに処理する操作の中で、peek はかなり
低級なところを支援する話にあたります。
狙っているところが違う感じでしょうか。
> 手前みその話ですが, fairyでは groupingした結果をinjectする処理がかなり
> 多いのでは? という話になっていて, inject_by(仮名)を導入しようという話に
> なっています. そうした場合, Ruby流に書けば:
>
> a = %w[banana banana durian orange orange orange]
> a.inject_by(proc{|w| w}){|key, values| puts "#{key} #{values.size}"}
>
> のような感じの記述になる予定です.
[ruby-dev:38392] からの提案はいろいろと変遷しているのですが、
現時点での形態の slice_by だと次のように書けます。
a = %w[banana banana durian orange orange orange]
a.slice_by {|w| w }.each {|key, values| puts "#{key} #{values.size}" }
まぁ、values が大きくなるとメモリの点では悲しいケースが出て
くるかも知れませんが。
> また, each_consを用いて
>
> a = %w[banana banana durian orange orange orange]
> a.push nil #-------------------------------------------(1)
> e = a.to_enum
> n = 0
> e.each_cons(2) do |word, peek1|
> n += 1
> if word != peek1
> puts "#{word} #{n}"
> word = nil
> n = 0
> end
> end
>
> の様にも書けます. (1)が味噌なんですが... (1)しなくてもちゃんと処理して
> くれるeach_with_peek見たいのがあってもよいかも?
最初か最後で特別扱いが必要なのであんまりよくないと思います。
あと、コントロールブレイクを検索したところ、どうやら複数のキー
を扱うことも珍しくないようです。
たとえば、咳さんの例をちょっと変えて、
word1 docid1 linenum1
word1 docid1 linenum2
word1 docid2 linenum3
word1 docid2 linenum4
word2 docid1 linenum5
word2 docid1 linenum6
word2 docid2 linenum7
word2 docid2 linenum8
というような並びを集計するには、多重ループで書きたいわけです。
たとえば、以下のような感じで。
each_word {|word|
# word 単位の集計の初期化
each_docid {|docid|
# docid 単位の集計の初期化
each_linenum {|linenum|
...
}
# docid 単位の集計の終了
}
# word 単位の集計の終了
}
でも、each_with_peek のようなイテレータではこういう多重ルー
プは実現できません。おそらく。
ここで、上記の多重ループは再帰降下パーザとみなすこともできま
す。そのように考えてトークンの取得に相当するところに
Enumerator#{peek,next} を使うと、これは実現できます。
なぜ内部イテレータでなく、外部イテレータを拡張しているのか、
という理由はここにあります。
--
[田中 哲][たなか あきら][Tanaka Akira]