This is the right way:
x = ['a', 'b', 'c']
System::Array[System::String].new(x.map { |s| s.to_s.to_clr_string })
This would simplify to
x = ['a', 'b', 'c']
System::Array[System::String].new(x)
As soon as we implement implicit conversions here.
Tomas
From: [email protected]
[mailto:[email protected]] On Behalf Of Jim Deville
Sent: Thursday, April 02, 2009 8:41 AM
To: [email protected]
Subject: Re: [Ironruby-core] How to instanciate a System::String[] from
IronRuby?
Jimmy and I have discussed a to_clr_array(type) where type defaults to Object,
but nothing like that exists yet.
JD
________________________________
From: [email protected] [[email protected]]
on behalf of Curt Hagenlocher [[email protected]]
Sent: Thursday, April 02, 2009 8:03 AM
To: [email protected]
Subject: Re: [Ironruby-core] How to instanciate a System::String[] from
IronRuby?
I don't know if it's the easiest way, but this should work as a conversion:
x = ['a', 'b', 'c']
System::Array[System::String].new(x.map { |s| s.to_s.to_clr_string })
(Obviously, if you know that the elements are already Ruby strings, you can
omit the "to_s".)
From: [email protected]
[mailto:[email protected]] On Behalf Of Thibaut Barrère
Sent: Thursday, April 02, 2009 7:36 AM
To: ironruby-core
Subject: [Ironruby-core] How to instanciate a System::String[] from IronRuby?
Hi,
while trying to call some C# code from IronRuby, I get this:
my_csharp_class_instance.call(%w(some array))
:0: can't convert Array into System::String[] (TypeError)
Is there some easy way to construct an array of System::String ? Or a
conversion ?
cheers,
-- Thibaut
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core