Steven

Maybe you should use copy/part to get the leftmost part of the string and
then test it

See:

TEST-FILE: [
   "1this is record one"
   "2this is record two"
   "3this is one of many type 3 records"
   "3this is one of many type 3 records"
   "4this is the record we want"
   "9this is some ending record"
]


>> print copy/part TEST-FILE/5 1
4


2006/3/17, Steven White <[EMAIL PROTECTED]>:
>
>
> There must be some simple little thing I don't understand about foreach,
> or about conditions, and I am wondering if someone can explain.  I have
> isolated the problem into a test script at the end of this message.
>
> The thing I am trying to program is:
>
> I have a text file containing several types of fixed-format records.
> It is for transferring money to the bank.  A type of record is
> identified by a single digit in the first character position of the
> record.  In the file, there is one particular record  I want to find,
> the only one with a particular record type code in the first position (a
> trailer record, but not the last record in the file, so I can't just use
> "last.")
>
> So, I read the file into memory with read/lines.  Each line becomes a
> string.  I loop through the block of strings (lines) and check the first
> character of each.  When I find the record type (first character) I am
> looking for, I save that record in another place so I can examine it
> more detail later in the program.
>
> In the following test script, if you run it, you see that "print
> TEST-RECORD/1" is executed and displays the first character of every
> record.  BUT, HOLD-TEST-RECORD never gets set to anything (besides its
> initial value of a null string) and "print 'We found record type 4'"
> never is executed.  So that condition of 'if TEST-RECORD/1 = "4"' is
> never true.
>
> What am I doing wrong?  It looks so obviously correct.  I read the
> manual, and I am "sure" I have seen code like that before.
>
> Thank you.
>
> ;;;; test script
> REBOL [
> ]
>
> TEST-FILE: [
>     "1this is record one"
>     "2this is record two"
>     "3this is one of many type 3 records"
>     "3this is one of many type 3 records"
>     "4this is the record we want"
>     "9this is some ending record"
> ]
>
> HOLD-FOUND-RECORD: copy ""
>
> foreach TEST-RECORD TEST-FILE [
>     print TEST-RECORD/1
>     if TEST-RECORD/1 = "4" [
>         HOLD-FOUND-RECORD: copy TEST-RECORD
>         print "We found record type 4"
>     ]
> ]
>
> print rejoin ["HOLD-FOUND-RECORD=" HOLD-FOUND-RECORD]
>
> ;;;; end of test script
>
>
> Steven White
> City of Bloomington
> 1800 W Old Shakopee Rd
> Bloomington MN 55431-3096
> USA
> 952-563-4882 (voice)
> 952-563-4672 (fax)
> [EMAIL PROTECTED]
> --
> To unsubscribe from the list, just send an email to
> lists at rebol.com with unsubscribe as the subject.
>
>


--
*:-.,_,.-:*'``'*:-.,_,.-:
Carlos Lorenz
*:-.,_,.-:*'``'*:-.,_,.-:

-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to