Yes. Using three arrays in J is about like using three variables in Java - often it's just the right way of doing things.
Thanks, -- Raul On Wed, Jun 4, 2014 at 11:57 AM, Jon Hough <[email protected]> wrote: > It's going to take me a while to understand what you've done. > "I'd be very interested in a concrete example of how using objects > simplifies matters." > Well, in this case, the objects just ties three related things together > (names and balance). Using three different arrays is a recipe for disaster, > and also gets very confusing, at least in a Java/C++ context. Perhaps in J > using three lists is the way to go? > > > > Date: Wed, 4 Jun 2014 11:43:50 -0400 > > From: [email protected] > > To: [email protected] > > Subject: Re: [Jprogramming] More Object List Questions > > > > I suppose you could do something like this: > > > > coclass 'Account' > > create =: verb define > > balance =: 0 > > fname =: '' > > lname =: '' > > ) > > coclass 'base' > > list =. 5 $ < 'Account' > > objs=. conew &> list > > objs > > +-+-+-+-+-+ > > |1|2|3|4|5| > > +-+-+-+-+-+ > > conames'' > > 1 2 3 4 5 Account > > (<''''''),~&.>(<'create_'),&.>(":&.>objs),&.><'_' > > +-----------+-----------+-----------+-----------+-----------+ > > |create_1_''|create_2_''|create_3_''|create_4_''|create_5_''| > > +-----------+-----------+-----------+-----------+-----------+ > > ".&>(<''''''),~&.>(<'create_'),&.>(":&.>objs),&.><'_' > > > > > > > > > > > > balance_1_ > > 0 > > (<'balance_'),&.>(":&.>objs),&.><'_' > > +----------+----------+----------+----------+----------+ > > |balance_1_|balance_2_|balance_3_|balance_4_|balance_5_| > > +----------+----------+----------+----------+----------+ > > ".&>(<'balance_'),&.>(":&.>objs),&.><'_' > > 0 0 0 0 0 > > > > But this all seems rather clumsy compared to simply using arrays directly > > rather than this vector of object names, e.g.: > > > > 'bals fnms lnms'=. > > > (5$0);('Jon';'Dick';'Harry';'Sally';'May');<'Smith';'Jones';'Black';'White';'Eye' > > bals > > 0 0 0 0 0 > > fnms > > +---+----+-----+-----+---+ > > |Jon|Dick|Harry|Sally|May| > > +---+----+-----+-----+---+ > > lnms > > +-----+-----+-----+-----+---+ > > |Smith|Jones|Black|White|Eye| > > +-----+-----+-----+-----+---+ > > > > I'd be very interested in a concrete example of how using objects > > simplifies matters. > > > > > > > > On Wed, Jun 4, 2014 at 11:16 AM, Jon Hough <[email protected]> wrote: > > > > > I hope I'm not spamming the forum with my questions. > > > I am still getting my head around OOP in J. > > > My class: > > > > > > coclass 'Account' > > > > > > create =: verb define > > > balance =: 0 > > > fname =: '' > > > lname =: '' > > > ) > > > It's just a dummy 'Account' class with balance, first name and last > name. > > > I want to create several objects in a list: > > > > > > list =. 5 $ < 'Account' > > > > > > list > > > > > > > > > > ┌───────┬───────┬───────┬───────┬───────┐│Account│Account│Account│Account│Account│└───────┴───────┴───────┴───────┴───────┘ > > > > > > So I have my list of 5 Accounts. Now I want to be able to access their > > > fields, functions by indexing the list. > > > e.g. in Java if I have an array of Accounts > > > Account[] accounts = new Account[5]; > > > I can access the fields from the array index: > > > for(int i = 0; i<5; i++){ > > > accounts[i].fname = "No name given"; > > > } > > > In J, > > > I tried the following: > > > create__(1{list) > > > |value error: create__ > > > | create__(1{list) > > > I tried to call the create function of the 2nd Account (index 1) of th > > > elist. It seems I can't append 1{list to create__. > > > Next I thought about making a function to do the work for me: > > > NB. function to return y's fname... > > > func =: verb define acct =. y name =: fname__acct > name > > > ) > > > The above function assumes y is an instance of Account. > > > Alas, func 1{list doesn't work. > > > However if I do: > > > acct =: 1{list > > > func acct > > > This will return the fname. > > > But I have to explicitly define acct, which is not particularly terse. > Is > > > there a way to call functions from the list of objects? > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > > > > > -- > > Devon McCormick, CFA > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
