[#39260] RubySpec vs CRuby's test/... — Marc-Andre Lafortune <ruby-core-mailing-list@...>

Before the release of Ruby 1.9.2 it was decided that Ruby releases

59 messages 2011/09/04
[#39276] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/05

2011/9/5 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:

[#39325] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/07

I'll jump in with some context from the JRuby perspective.

[#39335] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/07

2011/9/7 Charles Oliver Nutter <headius@headius.com>:

[#39365] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/08

On Wed, Sep 7, 2011 at 4:17 AM, NARUSE, Yui <naruse@airemix.jp> wrote:

[#39366] Re: RubySpec vs CRuby's test/... — Yukihiro Matsumoto <matz@...> 2011/09/08

Hi,

[#39370] Re: RubySpec vs CRuby's test/... — Michael Klishin <michael.s.klishin@...> 2011/09/08

Yukihiro Matsumoto:

[#39374] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/08

(2011/09/09 1:29), Michael Klishin wrote:

[#39376] Re: RubySpec vs CRuby's test/... — Luis Lavena <luislavena@...> 2011/09/08

On Thu, Sep 8, 2011 at 4:19 PM, NARUSE, Yui <naruse@airemix.jp> wrote:

[#39379] Re: RubySpec vs CRuby's test/... — Masaya TARUI <tarui@...> 2011/09/08

Hello Luis,

[#39382] Re: RubySpec vs CRuby's test/... — Luis Lavena <luislavena@...> 2011/09/08

On Thu, Sep 8, 2011 at 5:34 PM, Masaya TARUI <tarui@prx.jp> wrote:

[#39386] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/08

On Thu, Sep 8, 2011 at 3:57 PM, Luis Lavena <luislavena@gmail.com> wrote:

[#39267] [Ruby 1.9 - Bug #5273][Open] Float#round returns the wrong floats for higher precision — Marc-Andre Lafortune <ruby-core@...>

14 messages 2011/09/04

[#39435] [Ruby 1.9 - Bug #5306][Open] Application Hangs Due to Recent rb_thread_select Changes — Charlie Savage <cfis@...>

27 messages 2011/09/09

[#39498] [Ruby 1.9 - Feature #5310][Open] Integral objects — Kenta Murata <muraken@...>

13 messages 2011/09/13

[#39539] [Ruby 1.9 - Feature #5321][Open] Introducing Numeric#exact? and Numeric#inexact? — Kenta Murata <muraken@...>

26 messages 2011/09/14

[#39629] [Ruby 1.9 - Feature #5341][Open] Add SSL session reuse to Net::HTTP — Eric Hodel <drbrain@...7.net>

18 messages 2011/09/19

[#39634] [Ruby 1.9 - Bug #5343][Open] Unexpected blocking behavior when interrupt Socket#accept — Tomoyuki Chikanaga <nagachika00@...>

10 messages 2011/09/20

[#39673] [Ruby 1.9 - Bug #5353][Open] TLS v1.0 and less - Attack on CBC mode — Martin Bosslet <Martin.Bosslet@...>

13 messages 2011/09/22

[#39700] [Ruby 1.9 - Feature #5364][Open] How about new syntax: "object.\method" returns a Method instance? — Joey Zhou <yimutang@...>

20 messages 2011/09/25

[#39740] [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Alex Young <alex@...>

18 messages 2011/09/27
[#39743] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Aaron Patterson <aaron@...> 2011/09/27

On Tue, Sep 27, 2011 at 06:18:19PM +0900, Alex Young wrote:

[#39754] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Alex Young <alex@...> 2011/09/27

On 27/09/2011 19:46, Aaron Patterson wrote:

[#39807] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Eric Hodel <drbrain@...7.net> 2011/10/01

On Sep 27, 2011, at 6:52 PM, Alex Young wrote:

[#39751] [Ruby 1.9 - Bug #5375][Open] [mingw32] segfault on WinXP SP3 with 1.9.3dev@33347 — Jon Forums <redmine@...>

26 messages 2011/09/27

[#39772] ObjectSpace.reference_form(obj) #=> references_array — SASADA Koichi <ko1@...>

Hi,

13 messages 2011/09/29
[#39774] Re: ObjectSpace.reference_form(obj) #=> references_array — Nobuyoshi Nakada <nobu@...> 2011/09/29

Hi,

[#39796] [Ruby 1.9 - Bug #5384][Open] Ruby 1.9.3-RC1 Fails to Compile on Solaris — Cyrus Lopez <cyrus@...>

11 messages 2011/09/30

[ruby-core:39706] [Ruby 1.9 - Feature #3131] add Kernel#Hash() method like Kernel#Array()

From: Suraj Kurapati <sunaku@...>
Date: 2011-09-25 20:22:58 UTC
List: ruby-core #39706
Issue #3131 has been updated by Suraj Kurapati.


Any chance of this getting into Ruby 1.9.3?  Thanks.
----------------------------------------
Feature #3131: add Kernel#Hash() method like Kernel#Array()
http://redmine.ruby-lang.org/issues/3131

Author: Suraj Kurapati
Status: Assigned
Priority: Normal
Assignee: Yukihiro Matsumoto
Category: core
Target version: 1.9.x


=begin
 Hello,
 
 There is an imbalance of power in the Ruby core API (when it comes 
 to arrays and hashes) because it is easier to convert nil values 
 into empty arrays, thanks to Kernel#Array(), than it is to convert 
 nil values into empty hashes, due to lack of Kernel#Hash().
 
 To correct this asymmetry and restore a balance of power, please
 add a Kernel#Hash() method for converting nil, Array, and Hash
 values into hashes:
 
     module Kernel
       def Hash(value)
         if value.respond_to? :to_hash
           value.to_hash
         elsif value.respond_to? :to_ary
           Hash[*value.to_ary]
         elsif value.nil?
           {}
         else
           raise ArgumentError, "invalid value for Hash: #{value}"
         end
       end
     end
 
 For example, here is how I would use the above API:
 
     #-------------------------------------------------------------------------
     # CASE 1: to_hash
     #-------------------------------------------------------------------------
     
     real_hash = {:real => true}
     Hash(real_hash) # => {:real=>true}
 
     fake_hash = Object.new
     def fake_hash.to_hash
       {:fake => true}
     end
     Hash(fake_hash) # => {:fake=>true}
 
     #-------------------------------------------------------------------------
     # CASE 2: to_ary
     #-------------------------------------------------------------------------
     
     real_array = [:real, true]
     Hash(real_array) # => {:real=>true}
 
     fake_array = Object.new
     def fake_array.to_ary
       [:fake, true]
     end
     Hash(fake_array) # => {:fake=>true}
 
     #-------------------------------------------------------------------------
     # CASE 3: nil
     #-------------------------------------------------------------------------
 
     Hash(nil) # => {}
 
     #-------------------------------------------------------------------------
     # CASE 4: unsupported arguments
     #-------------------------------------------------------------------------
     
     >> Hash(true)
     ArgumentError: invalid value for Hash: true
             from (irb):74:in `Hash'
             from (irb):80
             from /usr/bin/irb:12:in `<main>'
 
     >> Hash(false)
     ArgumentError: invalid value for Hash: false
             from (irb):74:in `Hash'
             from (irb):81
             from /usr/bin/irb:12:in `<main>'
 
     >> Hash(123)
     ArgumentError: invalid value for Hash: 123
             from (irb):74:in `Hash'
             from (irb):82
             from /usr/bin/irb:12:in `<main>'
 
 Thanks for your consideration.
=end



-- 
http://redmine.ruby-lang.org

In This Thread

Prev Next