The other way is to structure your data so you know what you are working with.
For example, maintain a parallel structure with the "type information" that you want to be tracking here. Thanks, -- Raul On Fri, May 1, 2015 at 1:26 AM, Jon Hough <[email protected]> wrote: > This seems to be the easiest solution: > > > GetType =: 3 : 0 > > > > try. > > > > 0{ 18!:2 y > > > > catch. datatype y end. > > ) > > > > > I don't like the idea of relying on an error to branch the output, but I > don't know any other way and this seems to output exactly what I need. > Thanks all. > >> Date: Fri, 1 May 2015 10:18:38 +0800 >> From: [email protected] >> To: [email protected] >> Subject: Re: [Jprogramming] Datatype of an Object >> >> use 18!:0 to test for locale name. eg. >> 18!:0 <'foo' >> >> Пт, 01 май 2015, Jon Hough написал(а): >> > Thanks, >> > It seems 18!:2 is more or less what I need. >> > However, it gives an error for Boxed literals. I think I will need to >> > wrap my verb in a try catch and if itcatches an error I know I am dealing >> > with a standard J type. >> > >> > You may be wondering why I would get myself intoa situation where I >> > mistake a boxed literal for an object, but I am creating data structures >> > thatare arrays of both Objects and standard J types. So I need to inspect >> > each item in the structureto see if it is a boxed variable or an object. >> > >> > > Date: Thu, 30 Apr 2015 21:06:01 -0400 >> > > From: [email protected] >> > > To: [email protected] >> > > Subject: Re: [Jprogramming] Datatype of an Object >> > > >> > > You could look at the path of the object, with >> > > >> > > 18!:2 Obj >> > > >> > > Since the path is under the control of the user, you would have to know >> > > what you do with the path to be able to make sense of it. Often, the >> > > first atom in the path would tell you what you are looking for. >> > > >> > > >> > > >> > > An object (called a 'numbered locale' in the J docs) is not a boxed >> > > integer: it's a boxed string that contains all numberics. You could >> > > check for that with >> > > >> > > isnumloc =: *./@:e.&'0123456789'@> >> > > >> > > Henry Rich >> > > >> > > (Note that it is an error for the first character of a numbered locale >> > > to be '0'). >> > > >> > > >> > > On 4/30/2015 8:57 PM, Jon Hough wrote: >> > > > It seems of I have an Object,e.g.Obj =: conew 'MyClass' >> > > > And later I want to get the type of Obj >> > > > datatype Obj >> > > > this returns "boxed", which is technically correct, but it seems >> > > > datatype lacks the introspection to look beneath the box at the object. >> > > > So is there a way to get the type (i.e. class name if possible) of an >> > > > object? >> > > > e.g. I have some variable Q (which happens to be an instance of >> > > > MyClass).Is there a way to create a verb, getTypeOf, such that >> > > > getTypeOf Q >> > > > returns 'MyClass' >> > > > I couldn't find anything in JForC on this. At the moment I am finding >> > > > it difficult to differentiate boxedintegers from objects. >> > > > ---------------------------------------------------------------------- >> > > > 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 >> >> -- >> regards, >> ==================================================== >> GPG key 1024D/4434BAB3 2008-08-24 >> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 >> ---------------------------------------------------------------------- >> 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
