I don't understand the term 'object'.
Does that mean 'numbered locale'? If so, then a test for objectness
would be
1 = 18!:0
Henry Rich
On 7/9/2018 9:41 PM, 'Jon Hough' via Programming wrote:
I want to test if a given member variable of an object is primitive (e.g. one
of the J datatypes - literal, integer etc etc) or an object.
coclass 'MyClass'
create=: 3 : 0
m=: 'something'
)
Here is one method:
myClass =: '' conew 'MyClass'
a: -: {. (copath ::( a:"_) m__myClass) -. <, 'z' NB. return 1 if primitive,
0 if an object.
This works, except if the member is defined in a parent class.
coclass 'MyOtherClass'
coinsert 'MyClass'
create=: 3 : 0
create_MyClass_ f. ''
''
)
myOtherClass =: '' conew 'MyOtherClass'
a: -: {. (copath ::( a:"_) m__myOtherClass) -. <, 'z'
the above returns 0, but member is a primitive member of the MyOtherClass
instance. Ideally this
should return 1 in this case, since m is still a primitive member of
MyOtherClass.
Any better way to test for primitive members?
Thanks,
Jon
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
---
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm