Hi Bo, you need to feed the animal, e.g.

DB=: 0 :0
1 CREDO
11 IN
111 UNUM
...
)

and then:

'key val'=: <"1 |: >({. , ([,' ',])&.>/@:}.)@:(' '&cut) each LF cut DB



On 30-11-12 15:03, Bo Jacoby wrote:
Hi June. I can't make it work.
    require 'strings'
    cut
' '&$: :([: -.&a: <;._2@,~)
    'key val'=: <"1 |: >({. , ([,' ',])&.>/@:}.)@:(' '&cut) each LF cut
|domain error
|   'key val'=:<"1|:>    ({.,([,' ',])&.>/@:}.)@:(' '&cut)each LF cut
- Bo




________________________________
Fra: June Kim (김창준) <junea...@gmail.com>
Til: programm...@jsoftware.com
Sendt: 9:30 fredag den 30. november 2012
Emne: Re: [Jprogramming] Translating BASIC into J

I forgot to mention that cut is from strings.

Hence, you should

require 'strings'

first, before running my other lines.

On Wed, Nov 28, 2012 at 2:43 PM, June Kim (김창준) <junea...@gmail.com> wrote:

Hi Bo,

Firstly on the database file:

I suppose there is no blank line in between the lines of the file.
I suppose AMEN at the end was actually, 0 AMEN, instead.

Now a quick and dirty version -- notice that this doesn't fully implement
the basic code exactly, but you'll get the key idea.

     'key val'=: <"1 |: >({. , ([,' ',])&.>/@:}.)@:(' '&cut) each LF cut
1!:1<jpath'~user/temp/CREDO' NB. I put the CREDO file here
     search=:*./@(+./)@(  [  (= , '0'&=@,: )  ({.~ #)~  )
     val#~key search every < '13522'  NB. query for 13522


June


On Tue, Nov 27, 2012 at 3:31 PM, Bo Jacoby <bojac...@yahoo.dk> wrote:

Dear J'ers.

At the Norddata conference in Göteborg in the summer 1989 I gave a
lecture (in Danish) on Ultraflexible Database Structure and Artificial
Catholicism.


It contained this 8-liner in BASIC.

1 INPUT;C$: IF C$="" THEN END
2 OPEN "CREDO" FOR INPUT AS 1: PRINT":";
3 IF EOF(1) THEN CLOSE: PRINT: GOTO 1
4 LINE INPUT#1,A$: B$=C$
5 IF A$=""THEN A%=-1 ELSE A%=ASC(A$)-48: A$=MID$(A$,2)
6 IF B$=""THEN B%=-1 ELSE B%=ASC(B$)-48: B$=MID$(B$,2)
7 IF A%<0 THEN PRINT" ";A$;: GOTO 3
8 IF A%=0 OR B%=0 OR A%=B% THEN 5 ELSE 3

I have not yet been able to translate this program into J, mainly (I
think) because I have no experience in reading textfiles from J. I request
your assistance! The line numbers in the file must be separated from the
rest of the lines. The line numbers may be padded to the right with zeroes.


The program is a database browser. The question put to the program is a
number, and the answer from the program consists of the lines in the
database having numbers compatible to that of the question. Like this:

1: CREDO AMEN
2: CONFITEOR AMEN
3: EXPECTO AMEN
0: CREDO CONFITEOR ET EXPECTO AMEN

The digit zero is wild card character. A zero in the question indicate
that the answer has many words, and zero in a word in the database indicate
that this word answers many questions. So "AMEN" is included in all
answers. Like this:

11: CREDO IN DEUM AMEN
12: CREDO IN JESUM AMEN
13: CREDO IN SPIRITUM AMEN
14: CREDO ECCLESIAM AMEN
15: CREDO AMEN
10: CREDO IN DEUM ET IN JESUM ET IN SPIRITUM ET ECCLESIAM AMEN
21: CONFITEOR BAPTISMA AMEN
22: CONFITEOR AMEN
31: EXPECTO RESURRECTIONEM AMEN
32: EXPECTO VITAM AMEN
33: EXPECTO AMEN
30: EXPECTO RESURRECTIONEM ET VITAM AMEN
01: CREDO IN DEUM CONFITEOR BAPTISMA ET EXPECTO RESURRECTIONEM AMEN
13500: CREDO IN SPIRITUM QUI CUM PATRE ET FILIO SIMUL ADORATUR ET
GLORIFICATUR AMEN

13510: CREDO IN SPIRITUM QUI CUM PATRE ET FILIO SIMUL ADORATUR AMEN
13520: CREDO IN SPIRITUM QUI CUM PATRE ET FILIO SIMUL GLORIFICATUR AMEN
13501: CREDO IN SPIRITUM QUI CUM PATRE ADORATUR ET GLORIFICATUR AMEN
13502: CREDO IN SPIRITUM QUI CUM FILIO ADORATUR ET GLORIFICATUR AMEN
13511: CREDO IN SPIRITUM QUI CUM PATRE ADORATUR AMEN
13512: CREDO IN SPIRITUM QUI CUM FILIO ADORATUR AMEN
13521: CREDO IN SPIRITUM QUI CUM PATRE GLORIFICATUR AMEN
13522: CREDO IN SPIRITUM QUI CUM FILIO GLORIFICATUR AMEN

The database is this.
1 CREDO
11 IN
111 UNUM
11 DEUM
112 PATREM
1121 OMNIPOTENTEM
113 FACTOREM
1131 CÆLI
1139 ET
1132 TERRÆ
11331 VISIBILIUM
1133 OMNIUM
11339 ET
11332 INVISIBILIUM
19 ET
12 IN
1211 UNUM
1211 DOMINUM
12 JESUM
1211 CHRISTUM
1212 FILIUM
1212 DEI
12121 UNIGENITUM
1219 ET
1213 EX
1213 PATRE
1213 NATUM
12131 ANTE
121311 OMNIA
12131 SÆCULA
1221 DEUM
12211 DE
12211 DEO
1222 LUMEN
12221 DE
12221 LUMINE
1223 DEUM
12231 VERUM
12232 DE
12232 DEO
122321 VERO
1231 GENITUM
12311 NON
12311 FACTUM
1232 CONSUBSTANTIALEM
1232 PATRI
12321 PER
12321 QUEM
12321 OMNIA
12321 FACTA
12321 SUNT
124 QUI
124101 PROPTER
124101 NOS
12410101 HOMINES
124109 ET
124102 PROPTER
12410201 NOSTRAM
124102 SALUTEM
12411 DESCENDIT
1241101 DE
1241101 CÆLIS
12419 ET
12412 INCARNATUS
12412 EST
1241201 DE
1241201 SPIRITU
124120101 SANCTO
1241202 EX
1241202 MARIA
124120201 VIRGINE
12419 ET
1241301 HOMO
12413 FACTUS

12413 EST
124211 CRUCIFIXUS
1242101 ETIAM
1242101 PRO
1242101 NOBIS
1242102 SUB
1242102 PONTIO
1242102 PILATO
124212 PASSUS
124219 ET
124213 SEPULTUS
12421 EST
12429 ET
12422 RESURREXIT
124221 TERTIA
124221 DIE
124222 SECUMDUM
124222 SCRIPTURAS
12429 ET
12423 ASCENDIT
124231 IN
124231 CÆLUM
12424 SEDET
124241 AD
124241 DEXTERAM
124241 PATRIS
12429 ET
124251 ITERUM
12425 VENTURUS

12425 EST
124252 CUM
124252 GLORIA
124253 JUDICARE
1242531 VIVOS
1242539 ET
1242532 MORTUOS
125 CUJUS
125 REGNI
125 NON
125 ERIT
125 FINIS
19 ET
13 IN
13 SPIRITUM
131 SANCTUM
132 DOMINUM
139 ET
133 VIVIFICANTEM
134 QUI
134 EX
1341 PATRE
1342 FILIO
1349 QUE
134 PROCEDIT
135 QUI
135 CUM
13501 PATRE
13509 ET
13502 FILIO
13509 SIMUL
1351 ADORATUR
1359 ET
1352 GLORIFICATUR
136 QUI
136 LOCUTUS EST
1361 PER
1361 PROPHETAS
19 ET
141 UNAM
142 SANCTAM
143 CATHOLICAM
149 ET
144 APOSTOLICAM
14 ECCLESIAM
2 CONFITEOR
211 UNUM
21 BAPTISMA
212 IN
212 REMISSIONEM
2121 PECCATORUM
9 ET
3 EXPECTO
31 RESURRECTIONEM
311 MORTUORUM
39 ET
32 VITAM
3211 VENTURI
321 SÆCULI
AMEN
----------------------------------------------------------------------
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

--
Met vriendelijke groet,
@@i = Arie Groeneveld

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to