[Newbies] go to the end of a loop

Joseph Alotta joseph.alotta at gmail.com
Mon Apr 25 15:16:33 UTC 2016


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.







More information about the Beginners mailing list