I have a noun, BASE_LIBS, defined as:

BASE_LIBS =: 'base';'ctag';'j';'jadetag';'jadecompare';'jregex';'jtask';'z'

When testing for membership, e. returns:

BASE_LIBS e. nl 6
==> 1 1 0 1 1 1 1 0

Which seems to be reporting that 'j' and 'z' are not elements of nl 6.

Indeed,
2 { BASE_LIBS
==> j (boxed)

and
2 { nl 6
==> j (boxed)

but
(2 { BASE_LIBS) = (2 { nl 6)
==> 0

However, if I unbox the results:
>2 {BASE_LIBS
==> j

>2 { nl 6
==> j

and
(>2{BASE_LIBS) = (>2{nl 6)
==> 1

Further exploration led to my examining unboxing the first element
>0{BASE_LIBS
==> base

>0{nl 6
==> base

and
(>0{BASE_LIBS) = (>0{nl 6)
==> 1 1 1 1

I am searching the documentation in order to understand the logic here...
 meanwhile, I will greatly appreciate if someone could shed some light.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to