Argh.. typo, I meant
   a=. 1
   3 :'a=:y' 1

for the approach that will work.

Sorry about that.

-- 
Raul

On Mon, Oct 31, 2011 at 1:41 PM, Raul Miller <[email protected]> wrote:
> If you do this:
>
> a=. 1
> a=: 1
>
> That will fail.  But you can work around this by doing
>
> a=. 1
> 3 :'a=.y' 1
>
> If that was not what you were asking about, perhaps you could clarify
> your question?
>
> And a compare and a contrast with private methods in OO should, I
> think, wait until you have a deeper understanding of the language.
> (You can use local names like private OO members but there's a lot of
> subtleties that I think should be addressed when making this kind of
> comparison, and =. names are more like local variables of a block --
> though it's true that they they can be verbs.)
>
> --
> Raul
>
> On Mon, Oct 31, 2011 at 1:30 PM, Andrew Pennebaker
> <[email protected]> wrote:
>> Raul, does that mean =: declarations that depend on =. declarations will
>> still work? Are =. like private methods in OO?
>>
>> Cheers,
>>
>> Andrew Pennebaker
>> www.yellosoft.us
>>
>> On Mon, Oct 31, 2011 at 7:45 AM, Raul Miller <[email protected]> wrote:
>>
>>> [Sent to programming forum, Bcc to beta forum.  If you respond, please
>>> do so in programming.]
>>>
>>> Yes:
>>>
>>> =: definitions survive in the current locale (which defaults to 'base').
>>>
>>> =. definitions end when the current explicit context ends.
>>>
>>> 'load' happens in a local context (which was generated specifically to
>>> intercept =. definitions in the loaded file).
>>>
>>> --
>>> Raul
>>>
>>> On Mon, Oct 31, 2011 at 12:55 AM, Andrew Pennebaker
>>> <[email protected]> wrote:
>>> > I think I understand, but I want to put it in my words to double-check.
>>> >
>>> > Declarations that are to be exposed to code that loads this J file should
>>> > use =: for assignment, and local declarations inside of code blocks
>>> should
>>> > use =. Right?
>>> >
>>> > Cheers,
>>> >
>>> > Andrew Pennebaker
>>> > www.yellosoft.us
>>> >
>>> > On Sun, Oct 30, 2011 at 10:18 PM, Don Guinn <[email protected]> wrote:
>>> >
>>> >> In immediate mode it makes no difference. With explicit verbs or
>>> whatever
>>> >> names which are to be retained after the verb finishes should be
>>> assigned
>>> >> using global copula (=:). Other assignments in the definition should be
>>> >> local (=.) so the names go away after the verb ends. That way the names
>>> >> don't clutter up your work space and possibly accidentally overwrite a
>>> name
>>> >> you want to retain.
>>> >>
>>> >> On Sun, Oct 30, 2011 at 7:13 PM, Andrew Pennebaker <
>>> >> [email protected]> wrote:
>>> >>
>>> >> > Thanks Don. If there's no particular reason to use globals, should I
>>> use
>>> >> =.
>>> >> > every place in my code?
>>> >> >
>>> >> > Cheers,
>>> >> >
>>> >> > Andrew Pennebaker
>>> >> > www.yellosoft.us
>>> >> >
>>> >> > On Sun, Oct 30, 2011 at 5:03 PM, Don Guinn <[email protected]>
>>> wrote:
>>> >> >
>>> >> > > =: is a global copula. =. is a local copula within explicit
>>> >> definitions.
>>> >> > In
>>> >> > > immediate mode or not enclosed in an explicit definition is the
>>> same as
>>> >> > =:
>>> >> > > . Need to be aware that if you use "load" that puts the script
>>> within
>>> >> an
>>> >> > > explicit definition. So =. produces a local definition that
>>> disappears
>>> >> > when
>>> >> > > the "load" verb ends.
>>> >> > >
>>> >> > > On Sun, Oct 30, 2011 at 2:37 PM, Andrew Pennebaker <
>>> >> > > [email protected]> wrote:
>>> >> > >
>>> >> > > > What's the difference between =: and =. ?
>>> >> > > >
>>> >> > > > Cheers,
>>> >> > > >
>>> >> > > > Andrew Pennebaker
>>> >> > > > www.yellosoft.us
>>> >> > > >
>>> >> > > > 2011/10/30 Björn Helgason <[email protected]>
>>> >> > > >
>>> >> > > > >   happy=.0
>>> >> > > > >   > happy #  <'clap hands'
>>> >> > > > >
>>> >> > > > >   happy=.1
>>> >> > > > >   > happy #  <'clap hands'
>>> >> > > > > clap hands
>>> >> > > > >
>>> >> > > > >
>>> >> > > > > 2011/10/30 Andrew Pennebaker <[email protected]>
>>> >> > > > >
>>> >> > > > > > J won't let me write if. ... end. by itself; it must be
>>> enclosed
>>> >> > in a
>>> >> > > > > > function definition. E.g., I'd like to do this:
>>> >> > > > > >
>>> >> > > > > > if. happy do.
>>> >> > > > > >   clapHands
>>> >> > > > > > end.
>>> >> > > > > >
>>> >> > > > > > Rather than:
>>> >> > > > > >
>>> >> > > > > > arewehappy =: monad : 0
>>> >> > > > > >   if. happy do.
>>> >> > > > > >      clapHands
>>> >> > > > > >   end.
>>> >> > > > > > )
>>> >> > > > > >
>>> >> > > > > > arewehappy 0
>>> >> > > > > >
>>> >> > > > > > Can we add the ability to do the former to J?
>>> >> > > > > >
>>> >> > > > > > By the way, what's the preferred notation for long variable
>>> and
>>> >> > > > function
>>> >> > > > > > names? camelCase? with_underscores?
>>> >> > > > > >
>>> >> > > > > > Cheers,
>>> >> > > > > >
>>> >> > > > > > Andrew Pennebaker
>>> >> > > > > > www.yellosoft.us
>>> >> > > > > >
>>> >> > >
>>> ----------------------------------------------------------------------
>>> >> > > > > > For information about J forums see
>>> >> > > http://www.jsoftware.com/forums.htm
>>> >> > > > > >
>>> >> > > > >
>>> >> > > > >
>>> >> > > > >
>>> >> > > > > --
>>> >> > > > > Björn Helgason, Verkfræðingur
>>> >> > > > > Fornustekkum II
>>> >> > > > > 781 Hornafirði,
>>> >> > > > > t-póst: [email protected]
>>> >> > > > > gsm: +3546985532
>>> >> > > > > twitter: @flugfiskur
>>> >> > > > > http://groups.google.com/group/J-Programming
>>> >> > > > >
>>> >> > > > >
>>> >> > > > > Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari
>>> >> > > einfaldleikans
>>> >> > > > >
>>> >> > > > > góður kennari getur stigið á tær án þess að glansinn fari af
>>> skónum
>>> >> > > > >          /|_      .-----------------------------------.
>>> >> > > > >         ,'  .\  /  | Með léttri lund verður        |
>>> >> > > > >     ,--'    _,'   | Dagurinn í dag                     |
>>> >> > > > >    /       /       | Enn betri en gærdagurinn  |
>>> >> > > > >   (   -.  |        `-----------------------------------'
>>> >> > > > >   |     ) |         (\_ _/)
>>> >> > > > >  (`-.  '--.)       (='.'=)   ♖♘♗♕♔♙
>>> >> > > > >   `. )----'        (")_(") ☃☠
>>> >> > > > >
>>> >> > ----------------------------------------------------------------------
>>> >> > > > > 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
>>> >>
>>> > ----------------------------------------------------------------------
>>> > 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