[Newbies] Re: go to the end of a loop

Chris Cunningham cunningham.cb at gmail.com
Mon Apr 25 17:57:35 UTC 2016


Yes, except #whileFalse: only works against blocks. So:
     [f atEnd] whileFalse: [

On Mon, Apr 25, 2016 at 9:59 AM, Joseph Alotta <joseph.alotta at gmail.com>
wrote:

> 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] <[hidden
> email] <http:///user/SendEmail.jtp?type=node&node=4891963&i=0>> 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 [hidden email]
> <http:///user/SendEmail.jtp?type=node&node=4891963&i=1>
> > To unsubscribe from Squeak - Beginners, click here.
> > NAML
>
>
> ------------------------------
> View this message in context: Re: go to the end of a loop
> <http://forum.world.st/go-to-the-end-of-a-loop-tp4891930p4891963.html>
> Sent from the Squeak - Beginners mailing list archive
> <http://forum.world.st/Squeak-Beginners-f107673.html> at Nabble.com.
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20160425/c70b3ab0/attachment.htm


More information about the Beginners mailing list