[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