[Ironruby-core] say['love'] = "*love*" fails

Jim Deville jdeville at microsoft.com
Sun Jun 22 15:03:00 EDT 2008


I would clarify that by saying the core Ruby portions will probably be done before the 1.0 final. We also have a lot of work to do on defining .NET interop. We're probably passing about 64% of the core spec's right now, which test the builtin libraries, and about 94% of the language specs. The library spec's are so incomplete that the number doesn't mean anything.

I'll be working on the coverage runner, so we should be back to daily updates on that again.

JD
________________________________________
From: ironruby-core-bounces at rubyforge.org [ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher [curth at microsoft.com]
Sent: Saturday, June 21, 2008 6:52 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] say['love'] = "*love*" fails

I don't mean to be Clintonesque, but it depends on what the meaning of the word "done" is. :)  Any number you hear for spec coverage is suspect as a measure of done-ness.  The specs are still being added to; they're not themselves "done".

At this point, I don't think we expect a "1.0 final" release before the end of the year.

-----Original Message-----
From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ben Hall
Sent: Saturday, June 21, 2008 6:33 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] say['love'] = "*love*" fails

Ahh!! Thank you!

Out of interest, hHow far is the language from being 'done'? Or is
that an unknown?  Last I heard John mentioned 70% of the specs
passing?



On Sat, Jun 21, 2008 at 2:31 PM, Curt Hagenlocher <curth at microsoft.com> wrote:
> Yes, you are correct.  It tries to match your call to []= with one of the existing overloads. There's no overload for (string, string), so the closest one it finds is (object, object) -- and the implementation of (object, object) is trying to cast the first parameter to an int.
>
> -----Original Message-----
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ben Hall
> Sent: Saturday, June 21, 2008 6:27 AM
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] say['love'] = "*love*" fails
>
> Hi Curt,
>
> The same happens in both ir and my own editor.
>
> This is from ir.
>
>>>> $say = "I love Ruby"
> => "I love Ruby"
>>>> puts $say
> I love Ruby
> => nil
>>>> $say['love'] = "*LOVE*"
> IronRuby.Libraries:0:in `[]=': can't convert String into Integer (TypeError)
>        from :0:in `Initialize##11'
>
> This gives a different error that before - it is just because []= is
> missing?  I'll take a look at RubyForge and fill a bug if required
> later this afternoon.
>
> Thanks
>
> Ben
>
>
>
> On Sat, Jun 21, 2008 at 2:22 PM, Curt Hagenlocher <curth at microsoft.com> wrote:
>> Is this from ir.exe or from your hosting code?
>>
>> It looks like you didn't start entirely over. You need to make every reference global and not just subsequent ones.  That is,
>>
>> $say = "I love Ruby"
>> puts $say
>> $say['love'] = "*LOVE*"
>> ...etc.
>>
>> Also, it looks like we happen to be missing that particular overload of String.[]=, so if that's not already in RubyForge, you should file a bug report. :)
>>
>> -----Original Message-----
>> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ben Hall
>> Sent: Saturday, June 21, 2008 5:58 AM
>> To: ironruby-core at rubyforge.org
>> Subject: [Ironruby-core] say['love'] = "*love*" fails
>>
>> Hello,
>>
>> I just wanted to quickly write some Ruby code to see if my hosting
>> worked.  Went onto the main ruby site and copied this block of code:
>>
>> # Output "I love Ruby"
>> say = "I love Ruby"
>> puts say
>>
>> # Output "I *LOVE* RUBY"
>> say['love'] = "*love*"
>> puts say.upcase
>>
>> # Output "I *love* Ruby"
>> # five times
>> 5.times { puts say }
>>
>> When I tried this it failed:
>>>>> say['love'] = "*love*"
>> :0:in `Initialize##1': undefined local variable or method `say' for main:Object
>> (NoMethodError)
>>
>> I first thought this might have been because the console doesn't
>> support local variables and have some other problems going on. So I
>> tried this:
>>
>>>>> $say['love'] = "*love*"
>> :0:in `Initialize##11': undefined local variable or method `[]=' for :NilClass (
>> NoMethodError)
>>
>>
>> Why isn't this working?
>>
>> Thanks
>>
>> Ben
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core



More information about the Ironruby-core mailing list