[#9854] BUG: ruby-yarv 1.9 undefined method `close' for nil:NilClass in ensure — ville.mattila@...
Hello,
[#9864] String#upto edge case - empty string causes infinite loop — Daniel Berger <Daniel.Berger@...>
Hi,
Hi,
On 1/8/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
> -----Original Message-----
On 1/8/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
> -----Original Message-----
On 1/9/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
[#9869] a block argument within a block which argument has the same name leaks — <noreply@...>
Bugs item #7680, was opened at 2007-01-08 22:53
Hi,
On Jan 8, 2007, at 2:30 PM, Yukihiro Matsumoto wrote:
Hi,
Hi --
Hi,
Hi --
Hi,
Hi,
Evan Phoenix wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
On Jan 10, 2007, at 8:43 AM, Yukihiro Matsumoto wrote:
Hi,
Hi,
Hi,
[#9897] Time Zone printing differently for 1.8.4 and 1.8.5. — "Jim Freeze" <jim@...>
> ruby -rparsedate -ve 'puts Time.mktime(* ParseDate.parsedate("Thu Nov 02
[#9908] rdoc for 1.8.5 not creating Module docs? — James Britt <james.britt@...>
When running rdoc over the current 1.8.5 source, the resulting HTML file
[#9926] Fix for File and File::Stat to deal with bogus stat.st_size member — <noreply@...>
Patches item #7760, was opened at 2007-01-11 14:26
On Fri, 12 Jan 2007, noreply@rubyforge.org wrote:
> -----Original Message-----
On Sat, 13 Jan 2007, Berger, Daniel wrote:
[#9949] sandbox 0.4 (r115) with a new patch — _why <why@...>
Okay, here's the latest release of the freaky freaky sandbox.
[#9959] anonymous classes share single alloc function — <noreply@...>
Bugs item #7974, was opened at 2007-01-18 13:28
[#9960] Scoping and locating definitions — Jos Backus <jos@...>
Consider the following:
Jos Backus schrieb:
On Fri, Jan 19, 2007 at 06:40:03PM +0900, Pit Capitain wrote:
On Sat, Jan 20, 2007 at 02:18:19AM +0900, Jos Backus wrote:
On 1/20/07, Jos Backus <jos@catnook.com> wrote:
Jos Backus schrieb:
On Sun, Jan 21, 2007 at 04:39:52AM +0900, Pit Capitain wrote:
Jos Backus schrieb:
[#9969] Allowing Unicode in the grammar? — "Berger, Daniel" <Daniel.Berger@...>
Hi Matz,
[#9996] new method dispatch rule (matz' proposal) — SASADA Koichi <ko1@...>
Hi,
Hi,
It's late for me here, so I have just brief comments below...
Hi,
SASADA Koichi wrote:
Hi,
On Jan 23, 2007, at 7:41 AM, Yukihiro Matsumoto wrote:
On Tue, 23 Jan 2007, James Edward Gray II wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
The more this discussion goes on, the more I worry that Joe Q Public
Hi,
[#10019] stable branch policy & schedule for 1.8.6 — "Akinori MUSHA" <knu@...>
Core developers,
Akinori MUSHA wrote:
Charles Oliver Nutter wrote:
On Jan 23, 2007, at 22:13, Joel VanderWerf wrote:
At Wed, 24 Jan 2007 15:13:52 +0900,
Hello,
Hi,
[#10066] class variables and inheritance — <noreply@...>
Bugs item #8156, was opened at 2007-01-25 15:05
[#10068] Re: Method Dispatch (was Adding methods to String, but only in my own Module?) — gwtmp01@...
[#10085] Collaborative Ruby Language Specification — "John Lam (CLR)" <jflam@...>
Hi Everyone,
On 1/28/07, John Lam (CLR) <jflam@microsoft.com> wrote:
Hi --
>> I'm not sure what there is to be non-neutral about :-)
Hi --
On Mon, 29 Jan 2007, dblack@wobblini.net wrote:
John Lam (CLR) wrote:
> I hope such a spec would be developed "in the open" from the beginning,
M. Edward (Ed) Borasky wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On 1/30/07, Eustaquio Rangel de Oliveira Jr. <eustaquiorangel@yahoo.com> wrote:
On 1/30/07, Nikolai Weibull <now@bitwi.se> wrote:
> > I was checking some CLR opinions and - correct me please if I'm wrong - seems
[#10114] add usage of uri.userinfo to open-uri.rb — <noreply@...>
Patches item #8309, was opened at 2007-01-30 15:25
On 2007/01/31, at 06:07, Yukihiro Matsumoto wrote:
Hi,
On Thu, Feb 01, 2007 at 01:19:34AM +0900, Yukihiro Matsumoto wrote:
Hi,
Hi matz,
Hi,
On Feb 2, 2007, at 7:40 PM, Yukihiro Matsumoto wrote:
[#10135] Another .document patch. — Hugh Sasse <hgs@...>
I have been looking at the tips for irb at:
Re: String#upto edge case - empty string causes infinite loop
> -----Original Message-----
> From: Arnaud Bergeron [mailto:abergeron@gmail.com]
> Sent: Tuesday, January 09, 2007 1:36 PM
> To: ruby-core@ruby-lang.org
> Subject: Re: String#upto edge case - empty string causes infinite loop
>
>
> On 1/8/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
> > > -----Original Message-----
> > > From: Arnaud Bergeron [mailto:abergeron@gmail.com]
> > > Sent: Monday, January 08, 2007 12:49 PM
> > > To: ruby-core@ruby-lang.org
> > > Subject: Re: String#upto edge case - empty string causes infinite
> > > loop
> >
> > <snip>
> >
> > > Since "\377".succ yields "\001\000" I belive it would make more
> > > sense having "".succ return "\000" and continue on from there.
> >
> > Hm, it does seem to be a tradition among other languages:
>
> These examples are not exactly the same situation, as none of
> these languages have the equivalent of succ for strings.
>
> > # Perl
> > my $str = "";
> > print ++$str; # 1
>
> Perl is the only language I'm not familiar with here, so I am
> not really sure what happens here but I heard about automagic
> conversion of string to numbers.
>
> > /* C */
> > #include <stdio.h>
> >
> > int main(){
> > char* empty = "";
> > printf("Value: %i\n", atoi(empty) + 1); /* 1 */
> > return 0;
> > }
>
> Here you are explicitly converting the string to a number
> (and due to stupidity, atoi interprets "" as being the number
> 0). After adding 1 it is no suprise that it prints 1.
Well, I guess my point was that atoi("") returns 0, stupid or not.
> > /* Java */
> > public class EmptyTest{
> > public static void main(String[] args){
> > String empty = "";
> > System.out.println(empty + 1); /* 1 */
> > }
> > }
>
> Here you get string concatenation. You could have written ""
> + "1" and it would have only been more explicit. The number
> 1 gets converted to a string and if you concatenate that
> string with the empty string you get "1".
Oops, right.
> The .succ function is a different beast than these examples
> because it returns the next string in order.
>
> > > However there might be a problem because letters are treated
> > > differently. "z".succ yield "aa" and not "}" and the
> same is true
> > > for "Z" so this might need more thought, but in my
> opinion yielding
> > > the empty string once is the last expected behavior.
> >
> > As you suggest, I'm not sure what repurcussions changing the return
> > value of "".succ might have. My approach at least has the
> advantage
> > of being safe in that regard. However, I can live with either
> > approach. It is just an edge case after all. :)
>
> I would have it return "\000" because "" < "\000" and is the
> lowest value for a string for which this inegality is true.
> Having "".succ return "" breaks the implicit assuption that
> foo < foo.succ.
>
> irb(main):001:0> a = 1
> => 1
> irb(main):002:0> a < a.succ
> => true
> irb(main):003:0> a = ""
> => ""
> irb(main):004:0> a < a.succ
> => false
I understand your point, but I could just as well argue that there is no
logical successor to an empty string, and therefore it's a special case.
Another point to consider is that, if we have "".succ return "0", we get
this result from String#upto:
"".upto(2) => ["", "0", "1", "2"]
Either approach feels more or less arbitrary. I vote to err on the side
of caution and stick with my original patch. :)
Regards,
Dan
This communication is the property of Qwest and may contain confidential or
privileged information. Unauthorized use of this communication is strictly
prohibited and may be unlawful. If you have received this communication
in error, please immediately notify the sender by reply e-mail and destroy
all copies of the communication and any attachments.