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

Reply via email to