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] 
> <[email protected]> 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 
> [email protected] 
> 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.
_______________________________________________
Beginners mailing list
[email protected]
http://lists.squeakfoundation.org/mailman/listinfo/beginners

Reply via email to