[#24648] [Bug #1852] Enumerable's #hash Raises ArgumentError When Recursive Values are Present — Run Paint Run Run <redmine@...>

Bug #1852: Enumerable's #hash Raises ArgumentError When Recursive Values are Present

20 messages 2009/08/01
[#24649] Re: [Bug #1852] Enumerable's #hash Raises ArgumentError When Recursive Values are Present — Tanaka Akira <akr@...> 2009/08/01

In article <4a73e51b5a4f9_138119f2a982704e@redmine.ruby-lang.org>,

[#24652] Re: [Bug #1852] Enumerable's #hash Raises ArgumentError When Recursive Values are Present — Run Paint Run Run <runrun@...> 2009/08/01

> Is it valuable to implement such function?

[#24682] Re: [Bug #1852] Enumerable's #hash Raises ArgumentError When Recursive Values are Present — Tanaka Akira <akr@...> 2009/08/02

In article <67e307490908010125r6fa76654pa8e2224f714588fc@mail.gmail.com>,

[#24673] [Feature #1857] install *.h and *.inc — Roger Pack <redmine@...>

Feature #1857: install *.h and *.inc

21 messages 2009/08/01

[#24732] [Bug #1873] MatchData#[]: Omits All But Last Captures Corresponding to the Same Named Group — Run Paint Run Run <redmine@...>

Bug #1873: MatchData#[]: Omits All But Last Captures Corresponding to the Same Named Group

12 messages 2009/08/03

[#24775] [Feature #1889] Teach Onigurma Unicode 5.0 Character Properties — Run Paint Run Run <redmine@...>

Feature #1889: Teach Onigurma Unicode 5.0 Character Properties

30 messages 2009/08/05

[#24786] [Bug #1893] Recursive Enumerable#join is surprising — Jeremy Kemper <redmine@...>

Bug #1893: Recursive Enumerable#join is surprising

24 messages 2009/08/06
[#28422] [Bug #1893] Recursive Enumerable#join is surprising — Yusuke Endoh <redmine@...> 2010/03/02

Issue #1893 has been updated by Yusuke Endoh.

[#28438] Re: [Bug #1893] Recursive Enumerable#join is surprising — Yukihiro Matsumoto <matz@...> 2010/03/03

Hi,

[#24854] embedding ruby 1.9 frustration — Rolando Abarca <funkaster@...>

Hello,

12 messages 2009/08/10

[#24982] [Feature #1961] Kernel#__dir__ — Yutaka HARA <redmine@...>

Feature #1961: Kernel#__dir__

26 messages 2009/08/19
[#28898] [Feature #1961] Kernel#__dir__ — Roger Pack <redmine@...> 2010/03/23

Issue #1961 has been updated by Roger Pack.

[#28900] Re: [Feature #1961] Kernel#__dir__ — Kornelius Kalnbach <murphy@...> 2010/03/23

On 23.03.10 19:10, Roger Pack wrote:

[#25025] [Backport #1975] Backport Dir.mktmpdir — Kirk Haines <redmine@...>

Backport #1975: Backport Dir.mktmpdir

12 messages 2009/08/21

[#25041] Proposal: Simpler block format — Yehuda Katz <wycats@...>

I'd like to propose that we add the following syntax for procs in Ruby:

45 messages 2009/08/23
[#25046] Re: Proposal: Simpler block format — Caleb Clausen <caleb@...> 2009/08/23

Yehuda Katz wrote:

[#25049] Re: Proposal: Simpler block format — Yehuda Katz <wycats@...> 2009/08/23

On Sat, Aug 22, 2009 at 7:38 PM, Caleb Clausen <caleb@inforadical.net>wrote:

[#25058] Re: Proposal: Simpler block format — Yukihiro Matsumoto <matz@...> 2009/08/23

Hi,

[#25059] Re: Proposal: Simpler block format — Yehuda Katz <wycats@...> 2009/08/23

On Sun, Aug 23, 2009 at 3:33 PM, Yukihiro Matsumoto <matz@ruby-lang.org>wrote:

[#25063] Re: Proposal: Simpler block format — "David A. Black" <dblack@...> 2009/08/23

Hi --

[#25068] Re: Proposal: Simpler block format — brian ford <brixen@...> 2009/08/24

Hi,

[#25086] [Bug #1991] ruby should use twolevel namespace on OS X — Michal Suchanek <redmine@...>

Bug #1991: ruby should use twolevel namespace on OS X

12 messages 2009/08/24

[#25208] Module#prepend and Array#prepend — Yehuda Katz <wycats@...>

Matz,

23 messages 2009/08/30

[#25210] [Feature #2022] Patch for ruby-1.8.6 and openssl-1.0 — Jeroen van Meeuwen <redmine@...>

Feature #2022: Patch for ruby-1.8.6 and openssl-1.0

15 messages 2009/08/30

[#25220] [Bug #2026] String encodings are not supported by most of IO on Linux — Vit Ondruch <redmine@...>

Bug #2026: String encodings are not supported by most of IO on Linux

18 messages 2009/08/31

[ruby-core:25195] Module-specifc Meta-classes

From: thoran <lists@...>
Date: 2009-08-30 08:35:32 UTC
List: ruby-core #25195
# Apologies if this has been discussed already.  The archives don't  
seem to be searchable...

# This has bothered me about Ruby for years, but I feel I'm only just  
able to adequately enunciate it now.

# I would like it if modules were able to allow for the refashioning  
of any objects within its context, which also exist outside that  
context, such that any changes to an object apply only to that  
context, including for literals.

# In many respects this is quite similar to the change in the way  
block parameters are being handled now in Ruby 1.9 in contrast to Ruby  
1.8.

# For instance...

# String literals, '' and "", are bound to ::String, but should be  
contextually bound as is String.new('') to whatever module has  
refashioned the String constant.

# The way I would like it would allow for there being no requirement  
to do String.dup as I have done below, since any added methods to  
String automatically go into a module-specific meta-class.

# I'm aware of mixology, but that isn't quite enough.  And even to the  
extent that it is, it is less elegant than it working as I suggest.   
It really requires something in the core.

# And, is this a good idea anyway?

require 'pp'

module FunkyString

   String = ::String.dup

   original_instance_methods_before = ::String.instance_methods
   instance_methods_before = String.instance_methods
   literal_methods_before = ''.methods

   pp original_instance_methods_before.size
   pp instance_methods_before.size
   pp literal_methods_before.size

   class String
     def wow
       'wow'
     end
   end

   original_instance_methods_after = ::String.instance_methods
   instance_methods_after = String.instance_methods
   literal_methods_after = ''.methods

   pp original_instance_methods_after.size
   pp instance_methods_after.size
   pp literal_methods_after.size

   pp original_instance_methods_after - original_instance_methods_before
   pp instance_methods_after - instance_methods_before
   pp literal_methods_after - literal_methods_before

   class CantUseFunkyString
     def self.wow
       ''.wow # == ::String.new()
     end
   end

   class CanUseFunkyString
     def self.wow
       String.new('').wow
     end
   end

   begin
     puts CantUseFunkyString.wow
   rescue
     puts 'CantUseFunkyString'
   end

   puts CanUseFunkyString.wow

end


In This Thread

Prev Next