Raul, because I saw no semantics explaining how an obscure operation like
4!:4@< bind 'lcd' { 4!:3 bind '' would work, so I had to guess. The
operators 4!, @, <, and " are unintelligible to a new J programmer, and
they can't be Googled.Cheers, Andrew Pennebaker www.yellosoft.us On Tue, Nov 1, 2011 at 6:33 AM, Raul Miller <[email protected]> wrote: > Given that, when executed, (4!:4@< bind 'lcd' { 4!:3 bind '') gives > you the location of the script that defined the name lcd, why would > you expect the same result when defining the name from two completely > different sources? > > -- > Raul > > On Mon, Oct 31, 2011 at 2:18 PM, Andrew Pennebaker > <[email protected]> wrote: > > This snippet behaves differently in the interpreter vs a J code file: > > > > $ jconsole > > lcd =: 3 : ' (4!:4<''lcd'') { 4!:3 $0 ' > > COMMON_SCRIPT_PATH =: ;}:}:;:>lcd'' > > > > COMMON_SCRIPT > > /Applications/j64-701/system/main/ > > > > $ cat jlib.j > > #!/usr/bin/env jconsole > > > > lcd =: 3 : ' (4!:4<''lcd'') { 4!:3 $0 ' > > COMMON_SCRIPT_PATH =: ;}:}:;:>lcd'' > > > > echo COMMON_SCRIPT_PATH > > > > exit '' > > > > $ ./jlib.j > > /Users/andrew/Desktop/src/mcandre/j/./ > > > > This is unfortunate because I was planning to use the snippet as part of > a > > Makefile that would install my J package when a user enters "make > install". > > > > Cheers, > > > > Andrew Pennebaker > > www.yellosoft.us > > > > On Mon, Oct 31, 2011 at 10:29 AM, Tracy Harms <[email protected]> > wrote: > > > >> I have found the following code helpful in loading J scripts: > >> > >> lcd =: 3 : ' (4!:4<''lcd'') { 4!:3 $0 ' > >> COMMON_SCRIPT_PATH=: ;}:}:;:>lcd'' > >> NB. path of directory from which this script is being run. > >> > >> This allows me to put associated scripts in any directory, launch the > root > >> script of that set (via jconsole.exe) and have that script load the > other > >> scripts by determining its own path. The load sentences are like this: > >> > >> load COMMON_SCRIPT_PATH, 'somescript.ijs' > >> > >> Thanks goes to Dan Bron for directing me to this useful code. > >> > >> --Tracy > >> > >> > >> On Sun, Oct 30, 2011 at 5:03 PM, Andrew Pennebaker < > >> [email protected]> wrote: > >> > >> > If I have a local file coolstuff.j, where do I put coolstuff.j so > that I > >> > can do load 'coolstuff.j' from anywhere? If possible I'd like to put > all > >> my > >> > J code in ~/.j or a similar directory and have J know to look there > when > >> > loading code. > >> > > >> > In other words, where does J search for code? > >> > > >> > Does J have an environment variable similar to Java's $CLASSPATH? > >> > > >> > Cheers, > >> > > >> > Andrew Pennebaker > >> > www.yellosoft.us > >> > ---------------------------------------------------------------------- > >> > 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 > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
