You can use 5!:5 to get the string representation of u, for instance:
a=: 1 : '(5!:5<''u'')'
'+/' -: +/ a
1
On Thu, Apr 24, 2008 at 8:08 AM, Matthew Brand <[EMAIL PROTECTED]> wrote:
> This is what I have in mind: (to run it you must create directory
> c:\data\cache or change the "dir" variable).
>
> myadverb =: 1 : 0
> NB. y is a string already, but how do I convert the input verb "u" into a
> string?
> NB.parameters =. <convert verb u to a string> , y
> parameters =. y
> dir =. 'C:\data\cache\'
> fname =. dir, 'myadverb', ": ( 2: { [: ; (0: s: 2:) {~ [: 6&s: [: s: ' '&~:
> # ]) (3!:1) parameters
> if. 0 = # (1!:0) fname do.
> ('calculating result and caching...') (1!:2) 2
> data =. u i. # y NB. would normally be data =. u y
> ( 3!:1 data ) fwrite fname
> else.
> ('using previously cached result...') (1!:2) 2
> data =. ( 3!:2 fread fname )
> end.
> data
> )
>
> Examples:
> +/\ myadverb 'inputA'
> calculating result and caching...
> 0 1 3 6 10 15
> +/\ myadverb 'inputB'
> calculating result and caching...
> 0 1 3 6 10 15
> +/\ myadverb 'inputA'
> using previously cached result...
> 0 1 3 6 10 15
> +/\ myadverb 'inputB'
> using previously cached result...
> 0 1 3 6 10 15
>
>
> How can I get the text that is the program code for the input verb (u) so
> that I can generate the hash for it though? I.e. how do I turn u into the
> string '+/\' so that I can concatenate it with y?
>
>
> Thanks,
>
>
> Matthew.
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm