Scripts/QDoJ
< Scripts
Jump to navigation
Jump to search
download a script: File:Qdoj.ijs
require 'files strings'
require jpath '~system\extras\util\help.ijs'
NB. For the curious, the definition of trim is the same as 'deb' except it
NB. treats TABs like spaces. IE:
NB. ". 'trim =: ' , (''' ''&~:' ; '-.@:e.&('' '',TAB)') stringreplace 5!:5<'deb'
HTML_ENT =: <@:(('&'&,@:,&';'@:{. ,&:< }.@:}.)~ i.&'=')@:deb;._2 noun define
lt=<
gt=>
amp=&
#149=*
nbsp=
harr=<==>
)
seq =: ((&.>) /) (@:((|.@:[) , (<@:]))) (>@:) NB. Due to Jose Quintana
rb =: ] #~ (0&~:@:(+/\@:(-/)) +: {:)@:(E.&> boxopen)
html =: HTML_ENT&(stringreplace seq)@:('<>'&rb)
qdoj =: dyad define NB. Quote dictionary of J
try.
x (html;.0~ ,:/)"_ 1~ > {. fread @: jpath each ('~system\extras\help\dictionary\';'.htm') <@:;@:(1&A.)@:,"1 0 y (,&(<y)@:{:@:] {~ {.@:] i. ;:@:[) |: ;:@:-.&'?';._2 toJ DICTNDX_jhelp_
catch.
'topic not found' assert 0
end.
)
NB. EXAMPLES:
NB. 1508 100 qdoj '#.'
NB. An atomic argument is reshaped
NB. to the shape of the other argument.
NB.
NB. QUOTES =: (,. (_2: ]\ 0&".)&.>)/@:(0 _1&{)@:|: ;:;._2 noun define
NB. !. : 1035 250 1620 99
NB. < : 1352 255
NB. = : 1719 240
NB. )
NB. ; <@:(,&CRLF)@:deb"1 qdoj~&>/"1 QUOTES
NB. This conjunction modifies certain verbs in ways prescribed
NB. in their definitions. For example, =!.t is the relation of
NB. equality using tolerance t , and ^!.r
NB. is the factorial function so defined that
NB.
NB. < <: > >: +. *. -. -: | E. i. i:
NB. * Tolerance
NB.
NB. x<y is 1 if x is tolerantly
NB. less than y . See Equal (=) for a definition of
NB. tolerance. <!.t uses tolerance t
NB.
NB. If x or y is a floating-point or complex number,
NB. the comparison is made with a tolerance t ,
NB. normally 2 to the power _44 but also controlled by the
NB. fit conjunction !.