Thomas Costigliola wrote:
> This seemed a little strange to me, it does what I expect
> only when executed directly and not when called as a name.
...
>    llchg =: (18!:4)

18!:4 is sensitive to names

18!:4 affects the context calling the name containing
it as a literal expression, but its effects do not
extend beyond that point.

For example:

   a_l0_=:a_l1_=:a_l2_=:a_l3_=:'' NB. create some locales
   set1=:18!:4
   set2=:set1
   set3=:set2
   18!:5''
+----+
|base|
+----+
   18!:5''[18!:4<'l0'
+--+
|l0|
+--+
   18!:5''[set1_base_<'l1'
+--+
|l1|
+--+
   18!:5''[set2_base_<'l2'
+--+
|l1|
+--+
   18!:5''[set3_base_<'l3'
+--+
|l1|
+--+

In other words, 18!:4 is used directly in verbs
which are intended to switch locales, and
those verbs have an effect on their calling
context (but no further).

-- 
Raul

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to