[Newbies] Re: go to the end of a loop
Joseph Alotta
joseph.alotta at gmail.com
Mon Apr 25 16:59:44 UTC 2016
Hi Louis,
This is not a school project. I was looking for a local tutor but could find none. So this is me doing this instead of working crossword puzzles or sudukos.
So your advice would be:
(f atEnd) whileFalse: [
line := f nextLine
(line size < 2) ifFalse: [ “process line”].
].
Sincerely,
Joe.
> On Apr 25, 2016, at 10:06 AM, Louis LaBrunda [via Smalltalk] <ml-node+s1294792n4891939h58 at n4.nabble.com> wrote:
>
> Hi Joe,
>
> Better than checking for #nextLine answering nil, I think you can send the file stream #atEnd
> to see if there is any more data. You would then use a #whileFalse: and move the #nextLine
> call into the second block of the whileFalse:. Then test for empty lines with something like:
> (line size < 2) ifFalse: [...putting all the code that does the work on a line with data in
> here...].
>
> Lou
>
> PS. If this is not a school project, we can be of more help, we just don't like doing
> students projects for them as they learn more with just a few hints and not real code.
>
> On Mon, 25 Apr 2016 10:16:33 -0500, Joseph Alotta <[hidden email]> wrote:
>
> >Greetings,
> >
> >I have this code:
> >
> >******
> >
> >read
> > "read the category file into the dictionary
> > the first item is the category, the rest of the line are payees
> >
> > office expense|home depot|staples|costco
> > groceries|natures best|jewel|trader joes|fresh thyme
> > "
> >
> >| f line |
> >f := FileStream oldFileNamed: myfile.
> >
> >[(line := f nextLine) notNil] whileTrue: [ | array cat payees |
> >
> > array := line findTokens: $| escapedBy: Character tab .
> >
> > cat := array first.
> > payees := array reject: [ :i | i = cat ]. "rest of the line"
> >
> > payees do: [ :p | mydict at: (p withBlanksCondensed) put: (cat withBlanksCondensed)].
> > ].
> >
> >
> >f close.
> >
> >*********
> >
> >I am getting some blank lines in the data file. Lines with just a Character cr. I was wondering how to handle that. In other languages, there is a break for the loop, to go to the end. I can do:
> >
> >(line size < 2) ifTrue: [ f nextLine.].
> >
> >But that would interfere with the notNil idiom at the end of the file. So where do I put this. Is there a common way to jump to the end?
> >
> >
> >Sincerely,
> >
> >
> >Joe.
> --
> Louis LaBrunda
> Keystone Software Corp.
> SkypeMe callto://PhotonDemon
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
> If you reply to this email, your message will be added to the discussion below:
> http://forum.world.st/go-to-the-end-of-a-loop-tp4891930p4891939.html
> To start a new topic under Squeak - Beginners, email ml-node+s1294792n107673h12 at n4.nabble.com
> To unsubscribe from Squeak - Beginners, click here.
> NAML
--
View this message in context: http://forum.world.st/go-to-the-end-of-a-loop-tp4891930p4891963.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20160425/fd2e30e6/attachment-0001.htm
More information about the Beginners
mailing list