[Ironruby-core] More Interop Qs (Out, Ref and Structs)

Jim Deville jdeville at microsoft.com
Tue Jun 9 17:41:26 EDT 2009


[204] > ir
IronRuby 0.5.0.0 on .NET 2.0.50727.4918
Copyright (c) Microsoft Corporation. All rights reserved.

>>> require 'temp1'
=> true


Out:
>>> c = Class3.new
=> Class3
>>> a = c.test1
=> 'From C#'
>>> a
=> 'From C#'

Ref:
>>> b = c.test2
:0: wrong number of arguments (0 for 1) (ArgumentError)

>>> b = "a"
=> "a"
>>> c.test2 b
=> 'From C#'
>>> c
=> Class3
>>> b
=> "a"
>>> b = c.test2 b
=> 'From C#'
>>> b
=> 'From C#'


I'll let Tomas explain refs, since I'm not sure what's going on. It seems like b = c.test2 should work if b has been defined already, but that may be just me.
JD

...there is no try


> -----Original Message-----
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Shay Friedman
> Sent: Tuesday, June 09, 2009 1:25 PM
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] More Interop Qs (Out, Ref and Structs)
>
> No problem, here is the list with more details:
>
> 1. out parameters:
> C#
> -----
> public class Class3 {
>   public void Test1(out string str) {
>     str = "From C#";
>   }
> }
>
> IronRuby
> ----------
> >> s = "a"
> => "a"
> >> Class3.new.Test1(s)
> :0: can't convert String into
> System::Runtime::CompilerServices::StrongBox[System::String] (TypeError)
>
> 2. ref parameters:
> C#
> -----
> public class Class3 {
>   public void Test2(ref string str) {
>     str = "From C#";
>   }
> }
>
> IronRuby
> ----------
> >>> s = "a"
> => "a"
> >>> Class3.new.Test2(s)
> => 'From C#'
> >>> s
> => "a"
>
> (This seems to work like your description to out parameters)
>
> 3. Structs
> C#
> ------
> public struct FullName {
>   public string FirstName;
>   public string LastName;
> }
>
> IronRuby
> -----------
> >>> my_struct = FullName.new
> :0: allocator undefined for Sample::FullName (TypeError)
>
> Let me know if you need more details.
>
> Many thanks,
> Shay
> ----------------------------
> Shay Friedman
> http://www.ironshay.com
> Follow me: http://twitter.com/ironshay
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core



More information about the Ironruby-core mailing list