Az IronRuby programozási nyelv

Osztályok

Osztályok

Az osztály a legfőbb egymásbaágyazható struktúra a CLR számára és az IronRuby mint Ruby osztályokat kezeli. Egyszerü példa:

p = Person.new("Jimmy") #=> Models.Person

Lehetőség van tetszőleges, .NET keretrendszer által biztosított osztály használatára az IronRuby-ban.

dict = System::Collections::Generic::Dictionary[String, Array].new
#=> System.Collections.Generic.Dictionary`2[IronRuby.Builtins.MutableString,IronRuby.Builtins.RubyArray]
dict['foo'] = [1,2,3]
#=> [1, 2, 3]
dict[23] = '34'
#:0: can't convert String into Array (TypeError)
#
dict[23] = [4,5,6]
#:0: can't convert Fixnum into String (TypeError)
#
dict['bar'] = [4,5,6]
#=> [4, 5, 6]

Öröklődés

Csakúgy, mint a Ruby osztályoknál, a .NET osztályok is lehetnek al-osztályozzák IronRuby-ban.

class MyPerson < Models::Person
attr_reader :age
def self.new(name, age)
instance = super(name)
instance.instance_variable_set(:"@age", age)
instance
end
end
#=> nil
p = MyPerson.new('jimmy', 25)
#=>