Is it safe to understand that “[x]” indicates an optional left argument, and is not part of a the J expression?
> On Aug 24, 2018, at 9:19 AM, Raul Miller <rauldmil...@gmail.com> wrote: > > Also, in this example, ‘name’ was meant to represent a pronoun. > > Thanks, > > — > Raul > >> On Friday, August 24, 2018, Henry Rich <henryhr...@gmail.com> wrote: >> >> ".@'name' is a verb. In >> >> [x] ".@'name' y >> >> y (and x if given) are ignored, and the result is the value of (name) when >> the verb is executed. >> >> This is the same as it used to be, but is now faster. >> >> Henry Rich >> >>> On 8/23/2018 10:22 PM, Brian Schott wrote: >>> >>> Henry, I'm still a little lost. >>> Is the final `npixels` a (monadic, in this case) verb which will take a >>> noun argument, >>> or is the current value of windowsize that noun. >>> >>> If the latter, and windowsize is that noun, then what is the value of y in >>> the original expression `[x] ".@'name' y`? >>> >>> If the former (`npixels` is a verb -- and this is the one I'm leaning >>> toward), then what is the y value that is its argument? >>> >>> TIA. >>> >>> On Thu, Aug 23, 2018 at 9:41 PM, Henry Rich <henryhr...@gmail.com> wrote: >>> >>> Often you need for a verb to refer to the value of a name when the noun is >>>> executed, rather than when it is defined. So, rather than >>>> >>>> npixels =: */ windowsize >>>> >>>> which would just be a noun, you write >>>> >>>> npixels =: 3 : '*/ windowsize' >>>> >>>> to defer taking the value of (windowsize) until (npixels) is executed. >>>> >>>> In tacit code, you used to write >>>> >>>> npixels =: */ @: ". @ ('windowsize'"_) >>>> >>>> to get the same result. Recently the syntax was added to allow >>>> >>>> npixels =: */ @: ". @ 'windowsize' >>>> >>>> All that still works. But the (".) verb starts the parser and executes >>>> its y argument as a sentence, with a modest overhead that will matter if >>>> the verbs have small ranks. Now, you can write >>>> >>>> npixels =: */ @: (". @ 'windowsize') >>>> >>>> [parentheses important! make sure you see why]. When (npixels) is >>>> defined, this form will detect that the argument to (".) is a single >>>> name. >>>> When (npixels) is executed, the name will be evaluated without going >>>> through the overhead of starting a sentence. >>>> >>>> Henry Rich >>>> >>>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> >> >> --- >> This email has been checked for viruses by AVG. >> https://www.avg.com >> >> ---------------------------------------------------------------------- >> 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