A (small) collection of phrases. My thanks to each author.
findInTable =: $:&Table : ( i.&1@:(e."1)"0 _ ) NB. DB NB. Returns the row in Table within which y occurs.
(,:'celledit';1) grid !/~i.8 NB. CB NB. This sets a grid to come up with editable cells.
($anArray)#:I.,anArray = y NB. PG NB. coordinates where y is located within anArray
(4!:4 <'nametofind') {:: (4!:3 ''),<'not from a script' NB. RH
NB. identifies where a name was definedseq=. ((&.>) /) (@:((|.@:[) , (<@:]))) (>@:) NB. JQ
NB. A conjuction for sequential application of dyadic verbs
NB. Example:
f=. ('('"_),[,(' f '"_),],(')'"_) NB. dyadic verb
'X' f 'Y'
(X f Y)
('X1';'X2';' ... ';'XN') f seq 'Y0'
(XN f ( ... f (X2 f (X1 f Y0))))
seqb =: each / ( @:(<"_1@:[ , <@:]) ) (>@:) NB. DB
NB. seqb is less general than seq but leverages a characteristic of the Sieve of Eratosthenes.
NB. See http://www.jsoftware.com/pipermail/programming/2007-May/006725.html and its thread.NB. basic J concepts
countItems=: ((0 = #) >. ([: {. ]))@ $ NB. THI'm sure you already know this, but countItems is just #. Check out PrimitivePrimitives for other interesting ways to reimplement primitives.
In fact, thanks to your countItems, I just fixed a longstanding bug on that page. The entry for monad # had read {.@$, but as you correctly observe with (0=#)>., that was incorrect for scalars. The replacement now reads {.!.1@$. Appreciate the pointer!
Oh, on that note, you can write {.@ ... instead of ([: {. ])@ ... .
-- DanBron 2008-01-09 18:16:45
Attributions:
CB -: Chris Burke
DB -: Dan Bron
JQ -: Jose Mario Quintana
PG -: Paul Gauthier
RH -: Roger Hui
TH -: me
