[#13842] Better introspection for Frames, Thread, and enhancing binding. — "Rocky Bernstein" <rocky.bernstein@...>

The below is a little long. So here's a summary.

11 messages 2007/12/01

[#13851] Array#flatten works quadratic time on length of resulting array. It could be linear — "Voroztsov Artem" <artem.voroztsov@...>

I encountered problem with Array#flatten slowness (it can be much

19 messages 2007/12/03
[#13863] Re: Array#flatten works quadratic time on length of resulting array. It could be linear — Charles Oliver Nutter <charles.nutter@...> 2007/12/03

Voroztsov Artem wrote:

[#13867] Re: Array#flatten works quadratic time on length of resulting array. It could be linear — "Voroztsov Artem" <artem.voroztsov@...> 2007/12/03

2007/12/3, Charles Oliver Nutter <charles.nutter@sun.com>:

[#13868] Re: Array#flatten works quadratic time on length of resulting array. It could be linear — "Voroztsov Artem" <artem.voroztsov@...> 2007/12/03

2007/12/3, Voroztsov Artem <artem.voroztsov@gmail.com>:

[#13870] Re: Array#flatten works quadratic time on length of resulting array. It could be linear — "Yusuke ENDOH" <mame@...> 2007/12/03

Hi,

[#13903] Clarification of retry change — Charles Oliver Nutter <charles.nutter@...>

Matz confirmed that retry-outside-rescue will no longer work, but I

14 messages 2007/12/07
[#13905] Re: Clarification of retry change — SASADA Koichi <ko1@...> 2007/12/07

Hi,

[#13908] What's the status of compiler/compiling on windows? — Gonzalo Garramu <ggarra@...>

20 messages 2007/12/07
[#13913] Re: What's the status of compiler/compiling on windows? — Nobuyoshi Nakada <nobu@...> 2007/12/07

Hi,

[#13914] Re: [Spam] Re: What's the status of compiler/compiling on windows? — Gonzalo Garramu <ggarra@...> 2007/12/07

Nobuyoshi Nakada wrote:

[#13926] Re: [Spam] Re: What's the status of compiler/compiling on windows? — "Luis Lavena" <luislavena@...> 2007/12/07

T24gRGVjIDcsIDIwMDcgODoyMSBBTSwgR29uemFsbyBHYXJyYW11w7FvIDxnZ2FycmFAYWR2YW5j

[#14038] Re: [Spam] Re: What's the status of compiler/compiling on windows? — "Joe Swatosh" <joe.swatosh@...> 2007/12/12

Hi Luis

[#14039] Re: [Spam] Re: What's the status of compiler/compiling on windows? — "Luis Lavena" <luislavena@...> 2007/12/12

On Dec 12, 2007 4:05 PM, Joe Swatosh <joe.swatosh@gmail.com> wrote:

[#14040] Re: [Spam] Re: What's the status of compiler/compiling on windows? — "Austin Ziegler" <halostatue@...> 2007/12/12

> This was discussed in other thread in ruby-talk, but just to summarize:

[#13969] redefineable not operator — David Flanagan <david@...>

Matz,

37 messages 2007/12/10
[#13971] Re: redefineable not operator — murphy <murphy@...> 2007/12/10

David Flanagan wrote:

[#13972] Re: redefineable not operator — Yukihiro Matsumoto <matz@...> 2007/12/10

Hi,

[#14007] Re: redefineable not operator — murphy <murphy@...> 2007/12/11

Yukihiro Matsumoto wrote:

[#14011] Re: redefineable not operator — Yukihiro Matsumoto <matz@...> 2007/12/11

Hi,

[#14013] Re: redefineable not operator — murphy <murphy@...> 2007/12/12

Yukihiro Matsumoto wrote:

[#14016] Re: redefineable not operator — David Flanagan <david@...> 2007/12/12

murphy wrote:

[#14019] Re: redefineable not operator — Yukihiro Matsumoto <matz@...> 2007/12/12

Hi,

[#14024] Re: redefineable not operator — Gary Wright <gwtmp01@...> 2007/12/12

[#14029] Re: redefineable not operator — Dave Thomas <dave@...> 2007/12/12

[#14042] Fix e2mmap.rb for 1.9 — Eric Hodel <drbrain@...7.net>

E2MM.Raise complains about $! being read-only now, and E2MM is used by

22 messages 2007/12/13
[#14043] Re: Fix e2mmap.rb for 1.9 — Dave Thomas <dave@...> 2007/12/13

[#14049] RDoc + irb (Was: Fix e2mmap.rb for 1.9) — Eric Hodel <drbrain@...7.net> 2007/12/13

On Dec 12, 2007, at 16:19 PM, Dave Thomas wrote:

[#14052] Re: RDoc + irb (Was: Fix e2mmap.rb for 1.9) — Dave Thomas <dave@...> 2007/12/13

[#14056] Re: RDoc + irb (Was: Fix e2mmap.rb for 1.9) — Charles Oliver Nutter <charles.nutter@...> 2007/12/13

Dave Thomas wrote:

[#14123] Some Ruby 1.9 loose ends to tie up — David Flanagan <david@...>

Matz,

20 messages 2007/12/17
[#14220] Re: Some Ruby 1.9 loose ends to tie up — Yukihiro Matsumoto <matz@...> 2007/12/21

Hi,

[#14238] Re: Some Ruby 1.9 loose ends to tie up — Charles Oliver Nutter <charles.nutter@...> 2007/12/22

Yukihiro Matsumoto wrote:

[#14147] named captures assigning to local variables — David Flanagan <david@...>

I've just been browsing ruby-dev. For an english speaker, it is kind of

26 messages 2007/12/19
[#14150] Re: named captures assigning to local variables — Tanaka Akira <akr@...> 2007/12/19

In article <47686B87.7050609@davidflanagan.com>,

[#14158] Re: named captures assigning to local variables — david@... 2007/12/19

Thank you for the clarification, akr. I'm embarassed to say that it didn't

[#14161] Re: named captures assigning to local variables — David Flanagan <david@...> 2007/12/20

If I may, have a proposal. My apologies if this has already been

[#14170] Re: named captures assigning to local variables — Tanaka Akira <akr@...> 2007/12/20

In article <476A087E.3070000@davidflanagan.com>,

[#14172] Re: named captures assigning to local variables — David Flanagan <david@...> 2007/12/20

How about making the return value an array of the captured strings, or nil

[#14149] Experimental PATCH to improve thread performance — Brent Roman <brent@...>

The attached patch against Ruby 1.8.6-p110 improves the performance of

38 messages 2007/12/19
[#14202] Re: Experimental PATCH to improve thread performance — Charles Oliver Nutter <charles.nutter@...> 2007/12/21

Brent Roman wrote:

[#14257] Re: Experimental PATCH to improve thread performance — Brent Roman <brent@...> 2007/12/22

[#14266] Re: Experimental PATCH to improve thread performance — Charles Oliver Nutter <charles.nutter@...> 2007/12/22

Brent Roman wrote:

[#14274] Re: Experimental PATCH to improve thread performance — Sylvain Joyeux <sylvain.joyeux@...4x.org> 2007/12/22

On Sat, Dec 22, 2007 at 11:07:25PM +0900, Charles Oliver Nutter wrote:

[#14186] Rake 0.8.0 added to Ruby — Jim Weirich <jim.weirich@...>

Just a heads up here. I've added Rake (version 0.8.0 ... the latest)

34 messages 2007/12/21
[#14210] Re: [Spam] Rake 0.8.0 added to Ruby — Gonzalo Garramu <ggarra@...> 2007/12/21

Jim Weirich wrote:

[#14213] Re: [Spam] Rake 0.8.0 added to Ruby — "Rick DeNatale" <rick.denatale@...> 2007/12/21

On Dec 21, 2007 10:24 AM, Gonzalo Garramu=F1o <ggarra@advancedsl.com.ar> wr=

[#14215] Re: [Spam] Rake 0.8.0 added to Ruby — Jim Weirich <jim.weirich@...> 2007/12/21

[#14303] IRHG - GC Memory Fragmentation? — Charles Thornton <ceo@...>

While working on Chapter 05 and referencing various works

23 messages 2007/12/23
[#14308] Re: IRHG - GC Memory Fragmentation? — Ryan Davis <ryand-ruby@...> 2007/12/23

[#14335] Many external symbols _without_ prefix in libruby object file — Tadashi Saito <shiba@...2.accsnet.ne.jp>

Hi all,

12 messages 2007/12/23

[#14364] RDoc: [FATAL] failed to allocate memory — Martin Duerst <duerst@...>

With revision 14590, I suddenly get an error when I do "make install"

13 messages 2007/12/24

[#14367] replace csv.rb with fastercsv.rb — "NAKAMURA, Hiroshi" <nakahiro@...>

-----BEGIN PGP SIGNED MESSAGE-----

15 messages 2007/12/24
[#14390] Re: replace csv.rb with fastercsv.rb — James Gray <james@...> 2007/12/24

On Dec 24, 2007, at 3:34 AM, NAKAMURA, Hiroshi wrote:

[#14418] Base64 not there makes Rails 2.0.2 fail to load in 1.9.0 — Richard Kilmer <rich@...>

Just re-built latest svn of 1.9.0 and base64.rb is removed. Its

51 messages 2007/12/25
[#14420] Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Eric Hodel <drbrain@...7.net> 2007/12/25

On Dec 25, 2007, at 07:03 AM, Richard Kilmer wrote:

[#14427] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — "M. Edward (Ed) Borasky" <znmeb@...> 2007/12/25

Eric Hodel wrote:

[#14431] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Dave Thomas <dave@...> 2007/12/25

[#14446] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Eric Hodel <drbrain@...7.net> 2007/12/26

On Dec 25, 2007, at 13:35 PM, Dave Thomas wrote:

[#14452] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Dave Thomas <dave@...> 2007/12/26

[#14492] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Eric Hodel <drbrain@...7.net> 2007/12/27

On Dec 26, 2007, at 06:16 AM, Dave Thomas wrote:

[#14494] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Dave Thomas <dave@...> 2007/12/27

[#14503] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Richard Kilmer <rich@...> 2007/12/27

[#14505] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — Charles Oliver Nutter <charles.nutter@...> 2007/12/27

Richard Kilmer wrote:

[#14429] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — hemant <gethemant@...> 2007/12/25

On Dec 26, 2007 1:01 AM, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

[#14430] Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) — "M. Edward (Ed) Borasky" <znmeb@...> 2007/12/25

hemant wrote:

[#14517] Invalid use of mktime() in Ruby 1.8/1.9 results in incorrect Time objects — Dirkjan Bussink <d.bussink@...>

Hello,

12 messages 2007/12/27

[#14549] multibyte strings & bucket-of-bytes efficiency under 1.9.0 — khaines@...

Like everyone else, I've been testing my stuff under 1.9.0. In general,

38 messages 2007/12/28
[#14560] Re: multibyte strings & bucket-of-bytes efficiency under 1.9.0 — Brent Roman <brent@...> 2007/12/28

[#14573] Re: multibyte strings & bucket-of-bytes efficiency under 1.9.0 — murphy <murphy@...> 2007/12/29

Brent Roman wrote:

[#14603] Re: multibyte strings & bucket-of-bytes efficiency under 1.9.0 — Brent Roman <brent@...> 2007/12/30

[#14617] Re: multibyte strings & bucket-of-bytes efficiency under 1.9.0 — Tanaka Akira <akr@...> 2007/12/31

In article <14544702.post@talk.nabble.com>,

[#14568] Layout of includes in ruby 1.9 — Gonzalo Garramu <ggarra@...>

19 messages 2007/12/29
[#14576] Re: Layout of includes in ruby 1.9 — "Rick DeNatale" <rick.denatale@...> 2007/12/29

On Dec 29, 2007 2:39 AM, Gonzalo Garramu=F1o <ggarra@advancedsl.com.ar> wro=

[#14569] Wide strings to ruby strings — Gonzalo Garramu <ggarra@...>

11 messages 2007/12/29

[#14602] RCR allow indexing last n items — "Michal Suchanek" <hramrach@...>

Hello

15 messages 2007/12/30
[#14609] Re: RCR allow indexing last n items — "David A. Black" <dblack@...> 2007/12/30

Hi --

[#14610] Re: RCR allow indexing last n items — "Michal Suchanek" <hramrach@...> 2007/12/30

On 30/12/2007, David A. Black <dblack@rubypal.com> wrote:

[#14616] Re: RCR allow indexing last n items — "David A. Black" <dblack@...> 2007/12/30

Hi --

[#14621] Module.new(&block) in Ruby 1.9 — murphy <murphy@...>

Hello!

21 messages 2007/12/31
[#14622] Re: Module.new(&block) in Ruby 1.9 — "Cheah Chu Yeow" <chuyeow@...> 2007/12/31

This looks like a related bug with passing block arguments to

[#14633] Re: Module.new(&block) in Ruby 1.9 — murphy <murphy@...> 2007/12/31

Cheah Chu Yeow wrote:

[#14716] Re: Module.new(&block) in Ruby 1.9 — SASADA Koichi <ko1@...> 2008/01/03

Hi,

[#14726] Re: Module.new(&block) in Ruby 1.9 — ts <decoux@...> 2008/01/03

>>>>> "S" == SASADA Koichi <ko1@atdot.net> writes:

[#14728] Re: Module.new(&block) in Ruby 1.9 — SASADA Koichi <ko1@...> 2008/01/03

Hi,

[#16093] Re: Module.new(&block) in Ruby 1.9 — "Jeremy Kemper" <jeremy@...> 2008/04/01

Hi,

Re: named captures assigning to local variables

From: David Flanagan <david@...>
Date: 2007-12-21 18:43:43 UTC
List: ruby-core #14222
David A. Black wrote:
> Hi --
> 
> On Fri, 21 Dec 2007, David Flanagan wrote:
> 
>> Attached is a variation on my patch that makes it return $~ instead of 
>> an array of values.  In testing this I remembered that $~[0] is the 
>> entire string on the right-hand side, rather than the first captured 
>> value, so this return value doesn't actually masquerade as an array of 
>> the assigned values. So I'm a little less enthusiastic about this 
>> return value.
> 
> I'm still wondering about making such a big exception to the usual
> rhs-returning behavior. 

Let me make clear that I proposed this assignment syntax as an 
alternative to the current behavior in which the =~ operator does magic 
assignment to local variables, but only if the left-hand side is a 
regexp literal.  That seems to me to be a very bad idea.

I'm not at all convinced that the assignment syntax is a good idea, but 
I'm convinced that it is better than the =~ syntax.

Akr's objection to returning the right-hand side string with this syntax 
is that it doesn't allow use in a conditional to test success or 
failure.  One solution is to raise an exception if no match is found. 
On the theory that if you're using this syntax you must be really pretty 
sure that there are values to extract from the string.

But I might also advocate for dropping both the = and =~ syntaxes for 
now and thinking about this some more for Ruby 2.0

Here one possible alternative:

Ruby 1.9 now allows a block to be associated with a call to match, and 
passes MatchData on a successful match.  Could we make the named 
captures into local variables of the block?  (If so, I might propose the 
same thing for the blocks associated with sub and gsub).

So this code:

    r = /(?<foo>.)(?<bar>.)/
    r.match(s) {|data| ...}

would act like this:

    r.match(s) { |data;foo,bar|
      foo = data[:foo]
      bar = data[:bar]
      ...
    }

And if this isn't restricted to regexp literals, I don't know how to 
handle warnings about shadowed variables: would they be dynamically 
generated at ruime?

I assume that the ultimate goal of all this is to make it really easy to 
refer to the value of named captures.  I agree with the goal, but am not 
sure about the automatic assignment to variables.  Here's another 
possiblity that doesn't involve variables at all:

class Symbol
   def ~
     $~[self]
   end
end

Then, after any match operation, refer to the value of a named capture 
as ~:foo. Almost as simple to type as a real local variable, but without 
the magic.  And it is not restricted to literals or any particular 
matching syntax.

The only problem: my Symbol.~ method above doesn't work since $~ is a 
magic method-local variable.  I assume that if it were implemented in C, 
however, it could access the value it needs based on the call stack.

Another option: give MatchData a method_missing method so that named 
captures can be used as method names:  $~.foo would be the same as 
$~[:foo].  But MatchData probably already has too many existing method 
names to make this viable.

Maybe even simpler, and more in line with existing Perl-style regexp 
magic: assign named captures to global variables.  For a capture named 
foo, set $~foo.  Its kind of ugly, but it is consistent.

     David

In This Thread