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

Reply via email to