[#39606] [Feature:trunk] Dir instance methods for relative path — Nobuyoshi Nakada <nobu@...>

なかだです。

15 messages 2009/11/02
[#39607] Re: [Feature:trunk] Dir instance methods for relative path — Yukihiro Matsumoto <matz@...> 2009/11/02

まつもと ゆきひろです

[#39611] Re: [Feature:trunk] Dir instance methods for relative path — KOSAKI Motohiro <kosaki.motohiro@...> 2009/11/02

kosakiです

[#39660] [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } — Yusuke ENDOH <mame@...>

遠藤です。

14 messages 2009/11/11
[#39661] Re: [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } — Tanaka Akira <akr@...> 2009/11/11

In article <e0b1e5700911110537u2aacf835pc0aea13d89a92cef@mail.gmail.com>,

[#39685] [Feature #2366] private constant — Yusuke Endoh <redmine@...>

Feature #2366: private constant

23 messages 2009/11/14
[#39689] [Feature #2366] private constant — Yusuke Endoh <redmine@...> 2009/11/14

チケット #2366 が更新されました。 (by Yusuke Endoh)

[#40207] Re: [Feature #2366] private constant — Yusuke ENDOH <mame@...> 2010/01/28

遠藤です。

[#40239] Re: [Feature #2366] private constant — Masatoshi SEKI <m_seki@...> 2010/01/29

=1B$B31$H$$$$$^$9!#=1B(B

[#40243] Re: [Feature #2366] private constant — Yusuke ENDOH <mame@...> 2010/01/29

遠藤です。

[#40246] Re: [Feature #2366] private constant — Masatoshi SEKI <m_seki@...> 2010/01/29

=1B$B31$H$$$$$^$9!#=1B(B

[#40247] Re: [Feature #2366] private constant — "NARUSE, Yui" <naruse@...> 2010/01/29

成瀬です。

[#39720] hidden objectって? — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

15 messages 2009/11/18
[#39721] Re: hidden objectって? — Yukihiro Matsumoto <matz@...> 2009/11/18

まつもと ゆきひろです

[#39726] Re: hidden objectって? — keiju@... (石塚圭樹) 2009/11/19

けいじゅ@いしつかです.

[#39727] Re: hidden objectって? — Yukihiro Matsumoto <matz@...> 2009/11/19

まつもと ゆきひろです

[#39730] Re: hidden objectって? — keiju@... (石塚圭樹) 2009/11/19

けいじゅ@いしつかです.

[#39735] [Bug:trunk] r25230 causes SEGV arround Marshal — "NARUSE, Yui" <naruse@...> 2009/11/19

以下のコミット以降、後述の現象が発生するそうです。

[#39755] RbConfig.rubybin — Tanaka Akira <akr@...>

ruby コマンドのパス名を返す RbConfig.rubybin というメソッド

18 messages 2009/11/23
[#39756] Re: RbConfig.rubybin — Kouhei Sutou <kou@...> 2009/11/23

須藤です。

[#39814] Re: RbConfig.rubybin — Tanaka Akira <akr@...> 2009/11/30

In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,

[#39815] Re: RbConfig.rubybin — KOSAKI Motohiro <kosaki.motohiro@...> 2009/11/30

> In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,

[#39796] バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

14 messages 2009/11/27
[#39800] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — Yukihiro Matsumoto <matz@...> 2009/11/27

まつもと ゆきひろです

[#39803] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (石塚圭樹) 2009/11/27

けいじゅ@いしつかです.

[#39805] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — Yukihiro Matsumoto <matz@...> 2009/11/28

まつもと ゆきひろです

[#39806] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (石塚圭樹) 2009/11/28

けいじゅ@いしつかです.

[#39807] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — Yukihiro Matsumoto <matz@...> 2009/11/28

まつもと ゆきひろです

[ruby-dev:39800] Re: バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる

From: Yukihiro Matsumoto <matz@...>
Date: 2009-11-27 13:32:50 UTC
List: ruby-dev #39800
まつもと ゆきひろです

In message "Re: [ruby-dev:39796] バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる"
    on Fri, 27 Nov 2009 18:52:44 +0900, keiju@ishitsuka.com (Keiju ISHITSUKA) writes:

|Rubyのバグのようなバグではないようななんですが...
|
|ブロック引数にオプション引数を用いている場合で, 呼び出し側が:
|
|	pre_bjob.each_export_by(input_filter, self) do |export, opts={}|
|
|で, 呼び出される側が:
|
|    def each_export_by(njob, mapper, &block)
|#      block.call njob.export, :foo=>:bar
|      block.call njob.export
|    end
|
|となっているとき, njob.export に to_ary がないと怒られてしまいます.
|
|で, プログラム的にこの場面で to_ary が呼ばれる必要はないと思うのですが?
|どうなんでしょう?

呼ばれる必要はないと思います。

|さらに, コメントのようにオプション引数にも実引数を渡すとこれは怒られな
|くなります.
|
|ただ, 簡単な再現スクリプトを作ってもこの現象は再現しませんので, 何か特
|殊な条件が重なると発生するようです...

うーん、直しようがない。

|一応, どのリビジョンからこの現象が起るのかは調べてあって, 
|
|  ruby 1.9.2dev (2009-10-29 trunk 25556) [i686-linux]
|
|からになります. ChangeLogを見ると
|
|	* array.c (rb_ary_to_ary): do not use #respond_to? to detect
|	  to_ary.  Just call.  [ruby-core:23738]
|
|こんなのがあって, 怪しいかなと思うのですが... 

これなんですけど、確かに直接呼ぶんですけど、rescueしてるはず
です。ので、例外が発生するのはやっぱりおかしいです。大規模な
プログラムで小規模な再現パターンを抽出できないと言うのは同情
しますが、それでもあまりに情報がないので対処しようがありませ
ん。せめて「to_ary がないと怒られてしまう」ではなくて、どんな
エラーメッセージなのか、できるだけ生のメッセージをいただくと
かいうわけにはいきませんでしょうか。

あと、r25556だと、methog_missingが定義してあるかどうかで挙動
が変わります(定義されてないと例外処理をショートカットする)。
そのへんも織り込むと再現パターンを作れないでしょうか。

In This Thread