Hi Bjorn,
I tried the following:
temp=. '{. ~.'
(3 : temp) 1 2 3 1 2 3
|syntax error
| (3 :temp)1 2 3 1 2 3
So I read it some more and "execute statements from boxed list", hmmm. Lets try
that.
[temp=. ;:'{. ~.'
+--+--+
|{.|~.|
+--+--+
(3 : temp) 1 2 3 1 2 3
|syntax error
| (3 :temp)1 2 3 1 2 3
So I tried it this way with the data inside a variable:
[data=. < every 1 2 3 1 2 3
+-+-+-+-+-+-+
|1|2|3|1|2|3|
+-+-+-+-+-+-+
[temp=. ;:'{. ~.'
+--+--+
|{.|~.|
+--+--+
(3 : temp) data
|syntax error
| (3 :temp)data
So I tried the unboxed one like so:
[temp=. '{. ~.'
{. ~.
(3 : temp) data
|syntax error
| (3 :temp)data
So it's not working, maybe I need to put y in like this:
[temp=. '{. ~.'
{. ~.
(3 : temp, ' y') data
|syntax error
| ( 3 :temp,' y')data
So I thought maybe if I formatted it like this
(3 : '{. ~. y') data
So I had to wrote it this way:
(3 : '''', temp, ' y''') data
|open quote
| '
| ^
| ( 3 :'''',temp,' y''')data
I'm a bit stumped with your idea. Do you have an idea what I'm doing wrong?
Thanks for the suggestion though.
r/Alex
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Björn Helgason
Sent: Monday, March 23, 2009 3:45 PM
To: Programming forum
Subject: Re: [Jprogramming] Executing a string command
In the thread
http://groups.google.com/group/J-Programming/browse_thread/thread/22d3c6d5d516491e
"In this demo I have for the first time in an application used the
option of creating anonymous verbs to execute statements from a boxed
list.
For some reason I have overlooked the possibilities it offers.
C=:A (4 : V) B
Here V is a boxed list coming from the editm field and A respectively
B are the left and right arguments x and y in the resulting verb.
Similarly
C=:(3 : V) B
Is the monadic version of the same. "
In
http://groups.google.com/group/J-Programming/files
There is fall.ijs using this
2009/3/23 Alex Rufon <[email protected]>
> Wow, it took some time for me to get back to this but I think I figured it
> out.
>
> So instead of using evoke ... I used 0!:0 like so:
>
> NB. =========================================================
> NB.*createCMD (v) creates a temporary verb with a J sentence string
> NB.
> NB. y is: a string J sentence
> NB. creates a GLOBAL variable eoeCMD
> createCMD=: verb define
> temp=. 'eoeCMD=: 3 : ''', y, ' y'''
> 0!:0 temp
> )
>
> createCMD '{. ~.'
> eoeCMD ;: 'aa bb cc aa bb cc aa bb'
> +--+
> |aa|
> +--+
>
> createCMD '+/'
> eoeCMD i. 5 5
> 50 55 60 65 70
>
> I would appreciate it if somebody got a better idea. :)
>
> Thanks.
>
> r/Alex
>
>
> -----Original Message-----
> From: [email protected] [mailto:
> [email protected]] On Behalf Of Markus Schmidt-Gröttrup
> Sent: Tuesday, February 24, 2009 4:43 PM
> To: Programming forum
> Subject: Re: [Jprogramming] Executing a string command
>
> Looking to the vocabulary page of Evoke I have:
>
> cmd =. {.
> 'cmd'~ (i.10)
> 0
>
> Regards, Markus
>
> Alex Rufon schrieb:
> > Hi.
> >
> > I've been tinkering with my old EDI parser and I would like to extend it
> > with a new feature.
> >
> > NB. =========================================================
> > NB. AS400 File Maps
> > NB. Each mapping follows the following format
> > NB. Source*Variable*Type*Length*Decimal*Justify*Default*Remarks
> > NB.
> > NB. Valid values for each values are:
> > NB. Source - values corresponds to names defined in RECIEVING.IJS:
> > NB. ENVELOP
> > NB. PO_HEADER
> > NB. PO_LINE_ITEM
> > NB. DESTINATION_QUANTITY
> > NB. SUB_LINE_ITEM
> > NB. LOCAL - a local map specifiying non EDI retrievable values
> > NB. Variable - Names defined in RECIEIVING.IJS for each Source
> > NB. Type - Supported datatypes: CHR, NUM, DTE
> > NB. note that for DATE the format will be YYYYMMDD
> > NB. and for NUM there will be NO decimal/period character
> > NB. Length - number of characters the entry will occupy
> > NB. Decimal - valid only for numbers, this list the decimal positions
> > NB. Justify - Justification, valid values are: LJ and RJ
> > NB. Default - if the variable value is blank, use this value
> > NB. Remarks - free text, NOT USED by code
> > NB. Additional Operation - ADVANCED, additional operation to apply to
> > variable
> >
> > NB. =========================================================
> > NB.*PO_HEADER_MAP (n) definition for PO Header
> > PO_HEADER_MAP=: unbox '*' cutstring each cutopen noun define
> > LOCAL*SOURCE*CHR*8*0*LJ*POLO*Source Code*
> > ENVELOP*SENDER_QUAL*CHR*2*0*LJ**IQ*
> > ENVELOP*SENDER_ID*CHR*15*0*LJ**ID*
> > PO_HEADER*PO_NO*CHR*30*0*LJ**PO NO*
> > PO_HEADER*RELEASE_NO*NUM*3*0*RJ*000*PO REV*
> > LOCAL*EDI_REVISION*NUM*3*0*RJ*000*EDI REV*
> > PO_HEADER*PO_EXTRACT_DATE*DTE*8*0*LJ**PO Date*
> > PO_HEADER*CUST_ORDER_NO*CHR*30*0*LJ**Contract No*
> > LOCAL*LOT_NO*CHR*5*0*LJ**LOT No*
> > )
> >
> > What I want to do is add the "Additional Operation" at the end. For
> > example: in the entry
> > LOCAL*LOT_NO*CHR*5*0*LJ**LOT No*
> >
> > I want to change it to:
> > LOCAL*LOT_NO*CHR*5*0*LJ**LOT No*{.
> >
> > So the idea is that I would only take the first item in the data so to
> > simulate:
> > cmd=. '{.'
> > (cmd)~ i. 10
> > |ill-formed name
> > | (cmd)~i.10
> >
> > (".(cmd)) 1 2 3
> > |syntax error
> > | (".(cmd))1 2 3
> >
> > What I did find out is that I can get away with it if I use the
> > primitives:
> > LOCAL*LOT_NO*CHR*5*0*LJ**LOT No*take
> > cmd=. 'take'
> > (cmd)~ 1 2 3
> > 1
> >
> > Am I missing something or I really just have to use the primitives?
> >
> > Thanks.
> >
> > r/Alex
> > ----------------------------------------------------------------------
> > 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
>
--
Björn Helgason, Verkfræðingur
Fugl&Fiskur ehf,
Þerneyjarsundi 23, Hraunborgum
Po Box 127,801 Selfoss ,
t-póst: [email protected]
gsm: +3546985532
Landslags og skrúðgarðagerð, gröfuþjónusta
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