Referencing a CLR List in IronRuby

I can’t figure out how to get items out of any of the CLR List types in
IronRuby. Here’s a contrived example:

require ‘mscorlib’
=> true

foo = System::Collections::ArrayList.new()
=> #ArrayList:0x0000056

foo.Item(0)
System.MissingMethodException: undefined local variable or method `Item’
for
#ArrayList:0x0000056:ArrayList

Here’s the only thing I could think of that does work:

foo.ToArray.GetValue(0)
=> “Hello”

Does anyone know why that is? Or maybe a better work-around?

Thanks!

-Eric

On 10/11/07, Eric N. [email protected] wrote:

for #ArrayList:0x0000056:ArrayList
The actualy method name will be get_Item(), I think. But did you try

foo[0]

Might work!

Justin

Good Call. foo.get_Item() works great. foo[0] throws an exception.

Thanks Justin! That’s much better than ToArray.GetValue…

-Eric

And if anyone is wondering, the set would be:

foo.set_Item(0, “World”)

Cory

From: [email protected]
[mailto:[email protected]] On Behalf Of Eric N.
Sent: Thursday, October 11, 2007 4:00 PM
To: [email protected]
Subject: Re: [Ironruby-core] Referencing a CLR List in IronRuby

Good Call. foo.get_Item() works great. foo[0] throws an exception.

Thanks Justin! That’s much better than ToArray.GetValue…

-Eric
On 10/11/07, Justin B.
<[email protected]mailto:[email protected]> wrote:
On 10/11/07, Eric N.
<[email protected]mailto:[email protected]> wrote:
I can’t figure out how to get items out of any of the CLR List types in
IronRuby. Here’s a contrived example:

require ‘mscorlib’
=> true
foo = System::Collections:: ArrayList.new()
=> #ArrayList:0x0000056
foo.Item(0)
System.MissingMethodException: undefined local variable or method `Item’
for #ArrayList:0x0000056:ArrayList

The actualy method name will be get_Item(), I think. But did you try

foo[0]

Might work!

Justin

We’ll have foo[0] working sometime later today. John M. just
checked in support for injecting each() into IEnumerable things (among
other nice interop pieces). He just missed out on the IList case.

Thanks,
-John

From: [email protected]
[mailto:[email protected]] On Behalf Of Cory F.
Sent: Thursday, October 11, 2007 1:09 PM
To: [email protected]
Subject: Re: [Ironruby-core] Referencing a CLR List in IronRuby

And if anyone is wondering, the set would be:

foo.set_Item(0, “World”)

Cory

From: [email protected]
[mailto:[email protected]] On Behalf Of Eric N.
Sent: Thursday, October 11, 2007 4:00 PM
To: [email protected]
Subject: Re: [Ironruby-core] Referencing a CLR List in IronRuby

Good Call. foo.get_Item() works great. foo[0] throws an exception.

Thanks Justin! That’s much better than ToArray.GetValue…

-Eric
On 10/11/07, Justin B.
<[email protected]mailto:[email protected]> wrote:
On 10/11/07, Eric N.
<[email protected]mailto:[email protected]> wrote:
I can’t figure out how to get items out of any of the CLR List types in
IronRuby. Here’s a contrived example:

require ‘mscorlib’
=> true
foo = System::Collections:: ArrayList.new()
=> #ArrayList:0x0000056
foo.Item(0)
System.MissingMethodException: undefined local variable or method `Item’
for #ArrayList:0x0000056:ArrayList

The actualy method name will be get_Item(), I think. But did you try

foo[0]

Might work!

Justin

Sweet! Thanks Guys!