[#45627] some warnings compiled with gcc 4.6.3 — SASADA Koichi <ko1@...>
ささだです.
6 messages
2012/05/06
[#45637] [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
14 messages
2012/05/16
[#45644] Re: [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい
— Tanaka Akira <akr@...>
2012/05/17
2012/5/16 Glass_saga (Masaki Matsushita) <glass.saga@gmail.com>:
[#45645] Re: [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい
— Nobuyoshi Nakada <nobu@...>
2012/05/17
なかだです。
[#45646] Re: [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい
— Tanaka Akira <akr@...>
2012/05/17
2012/5/17 Nobuyoshi Nakada <nobu@ruby-lang.org>:
[#45650] space in COUTFLAG — Takahiro Kambe <taca@...>
こんにちは。
6 messages
2012/05/18
[#45670] [ruby-trunk - Bug #6479][Open] ipaddr.rbの受け付ける書式が、プラットフォームによって異なる — "kachick (Kenichi Kamiya)" <kachick1+ruby@...>
9 messages
2012/05/22
[#45671] [ruby-trunk - Bug #6479][Assigned] ipaddr.rbの受け付ける書式が、プラットフォームによって異なる
— "knu (Akinori MUSHA)" <knu@...>
2012/05/23
[#45673] Bug?: level argument of caller — SASADA Koichi <ko1@...>
ささだです.
4 messages
2012/05/23
[ruby-dev:45673] Bug?: level argument of caller
From:
SASADA Koichi <ko1@...>
Date:
2012-05-23 15:54:02 UTC
List:
ruby-dev #45673
ささだです.
caller(level) のように,caller メソッドでは何段上からバックトレースを
持ってくるか,というのを level という引数で指定できます.
なんとなく,level 分だけバックトレースの情報が減るように思えるのです
が,つまり
caller(0).size - level == caller(level).size
となりそうなもんですが,実際はそうなりません.
例:
a = [1]
a.map{
a.map{
a.map{
10.times{|i|
p [i, caller(i).size]
}
}
}
}
#=>
ruby 2.0.0dev (2012-05-04 trunk 35535) [i386-mswin32_100]
[0, 9]
[1, 8]
[2, 8] # 上と変わらない
[3, 7]
[4, 6]
[5, 6] # 上と変わらない
[6, 5]
[7, 4]
[8, 4] # 上と変わらない
[9, 3]
理由は,level を,VM のスタックフレームを level 個スキップする,と扱っ
ているのですが,スタックフレームの種類によってはバックトレースに出てこな
い場合もあるので,そのスキップされた分を level でスキップする数にいれて
いるから,という理由です.
1.8 だと期待通り(?)動きます.
#=> ruby 1.8.7 (2012-02-08 patchlevel 358) [i386-cygwin]
[0, 9]
[1, 8]
[2, 7]
[3, 6]
[4, 5]
[5, 4]
[6, 3]
[7, 2]
[8, 1]
[9, 0]
というわけで,バグな気もするんですが,どうしたもんでしょう.これまで苦
情も来てないから,どうでもいいような気もするんですが.2.0 から直します?
--
// SASADA Koichi at atdot dot net