Representing a complex object

Discussion in 'Ruby' started by chandra shekhar G, Mar 12, 2007.

  1. Hi

    we are facing trouble in implementing a complex object in ruby,
    like say we have a class B which has a member int and a member string,
    we have to implement a class A whose members are an array of objects of
    B
    how is it done, pls do respond.

    Regards
    chandra shekhar G

    --
    Posted via http://www.ruby-forum.com/.
    chandra shekhar G, Mar 12, 2007
    #1
    1. Advertising

  2. chandra shekhar G

    Drew Olson Guest

    chandra shekhar G wrote:
    > Hi
    >
    > we are facing trouble in implementing a complex object in ruby,
    > like say we have a class B which has a member int and a member string,
    > we have to implement a class A whose members are an array of objects of
    > B
    > how is it done, pls do respond.
    >
    > Regards
    > chandra shekhar G


    Do you really find this to be "complex"? It seems relatively straight
    forward...

    class B
    def initialize(my_int,my_string)
    @my_int = my_int
    @my_string = my_string
    end
    end

    class A
    def initialize
    @my_objects = []
    end

    def add_item(item)
    @my_objects << item
    end
    end

    my_b = B.new(10,"foo")
    my_a = A.new
    my_a.add_item my_b

    --
    Posted via http://www.ruby-forum.com/.
    Drew Olson, Mar 12, 2007
    #2
    1. Advertising

  3. chandra shekhar G

    Phrogz Guest

    On Mar 12, 9:44 am, chandra shekhar G <> wrote:
    > we are facing trouble in implementing a complex object in ruby,
    > like say we have a class B which has a member int and a member string,
    > we have to implement a class A whose members are an array of objects of
    > B
    > how is it done, pls do respond.


    Ruby does not care what type of value each variable is. Here's a very
    simple way to do what you want:

    B = Struct.new( :my_int, :my_string ) # A very simple way to create a
    class
    # that is just a container for
    simple properties

    b1 = B.new( 12, "hello" )
    b2 = B.new( 42, "world" )
    my_array = [ b1, b2 ] # An array of B instances

    b3 = B.new( 54, "foobar" )
    my_array << b3 # append one more value to the
    array
    Phrogz, Mar 12, 2007
    #3
  4. On 12.03.2007 16:44, chandra shekhar G wrote:
    > we are facing trouble in implementing a complex object in ruby,
    > like say we have a class B which has a member int and a member string,
    > we have to implement a class A whose members are an array of objects of
    > B
    > how is it done, pls do respond.


    Just a curious question: what do you need that for? What problem are
    you trying to solve?

    Kind regards

    robert
    Robert Klemme, Mar 12, 2007
    #4
  5. hi

    thanks for the response,
    the issue is we have an Composite object which has two types of objects
    in it
    first is a struct containing an int and a string
    second is an array of objects where each is a struct containing an int
    and a string

    when we try to implement this and return it from a method,
    the api throws error saying "dont know how to cast"

    any information on the same is welcome

    thanks

    --
    Posted via http://www.ruby-forum.com/.
    Chandra Shekar, Mar 16, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Karl Seguin
    Replies:
    1
    Views:
    434
  2. news.amnet.net.au
    Replies:
    1
    Views:
    573
    =?UTF-8?b?TMSByrtpZSBUZWNoaWU=?=
    Apr 13, 2004
  3. Stanimir Stamenkov
    Replies:
    2
    Views:
    744
    Stanimir Stamenkov
    Oct 25, 2005
  4. Robert Mark Bram
    Replies:
    0
    Views:
    682
    Robert Mark Bram
    Feb 4, 2007
  5. Kottiyath

    How complex is complex?

    Kottiyath, Mar 18, 2009, in forum: Python
    Replies:
    22
    Views:
    757
Loading...

Share This Page