[#25936] [Bug:1.9] [rubygems] $LOAD_PATH includes bin directory — Nobuyoshi Nakada <nobu@...>

Hi,

10 messages 2009/10/05

[#25943] Disabling tainting — Tony Arcieri <tony@...>

Would it make sense to have a flag passed to the interpreter on startup that

16 messages 2009/10/05

[#26028] [Bug #2189] Math.atanh(1) & Math.atanh(-1) should not raise an error — Marc-Andre Lafortune <redmine@...>

Bug #2189: Math.atanh(1) & Math.atanh(-1) should not raise an error

14 messages 2009/10/10

[#26222] [Bug #2250] IO::for_fd() objects' finalization dangerously closes underlying fds — Mike Pomraning <redmine@...>

Bug #2250: IO::for_fd() objects' finalization dangerously closes underlying fds

11 messages 2009/10/22

[#26244] [Bug #2258] Kernel#require inside rb_require() inside rb_protect() inside SysV context fails — Suraj Kurapati <redmine@...>

Bug #2258: Kernel#require inside rb_require() inside rb_protect() inside SysV context fails

24 messages 2009/10/22

[#26361] [Feature #2294] [PATCH] ruby_bind_stack() to embed Ruby in coroutine — Suraj Kurapati <redmine@...>

Feature #2294: [PATCH] ruby_bind_stack() to embed Ruby in coroutine

42 messages 2009/10/27

[#26371] [Bug #2295] segmentation faults — tomer doron <redmine@...>

Bug #2295: segmentation faults

16 messages 2009/10/27

[ruby-core:25999] Re: [Bug #2184] Blocks strange behavior

From: Ryan Davis <ryand-ruby@...>
Date: 2009-10-07 17:54:18 UTC
List: ruby-core #25999
On Oct 7, 2009, at 00:39 , Ivan Samsonov wrote:

> Bug #2184: Blocks strange behavior
> http://redmine.ruby-lang.org/issues/show/2184
>
> Author: Ivan Samsonov
> Status: Open, Priority: Normal
> Category: core
> ruby -v: ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-darwin10]
>
> 1.8.7:
> a = lambda {|x,y| x <=> y}
> [1,2,3].max(&a) # => 3
>
> 1.9.1:
> z = lambda {|x,y| x <=> y}
> [3,2,1].max(&z) # => ArgumentError: wrong number of arguments (1 for  
> 2)
>
> But it works in 1.9:
> z = lambda {|x| x[0] <=> x[1]}
> [3,2,1].max(&z) # => 3

Interesting. In 1.9, lambda is more strict about arg checking and in  
this case max is passing in an array of pairs. You can try any of the  
following instead:

% multiruby -e 'z = lambda {|(x,y)| x <=> y}; [3,2,1].max(&z)'
...
TOTAL RESULT = 0 failures out of 5

Passed: 1.9.1-p129, 1.8.7-p72, 1.8.7-p160, 1.8.6-p368, 1.8.7-p174
Failed:

507 % multiruby -e 'z = Proc.new {|x,y| x <=> y}; [3,2,1].max(&z)'
...
TOTAL RESULT = 0 failures out of 5

Passed: 1.9.1-p129, 1.8.7-p72, 1.8.7-p160, 1.8.6-p368, 1.8.7-p174
Failed:

% multiruby -e 'z = proc {|x,y| x <=> y}; [3,2,1].max(&z)'
...
TOTAL RESULT = 0 failures out of 5

Passed: 1.9.1-p129, 1.8.7-p72, 1.8.7-p160, 1.8.6-p368, 1.8.7-p174
Failed:
509 %


In This Thread