On Thu, Oct 27, 2011 at 10:48, Rustom Mody <rustompmody@gmail.com> wrote:
Can someone explain what is happening here?
*Main> getTwoChars
ab
('a','b')
*Main> getTwoChars
a
('\n','a')

The code is doing exactly what it says.  getTwoChars reads two characters --- *not* a line.  So the next character waiting to be read is the newline, which is returned by the next getTwoChars.

This may depend to some extent on the platform, as Unix defaults to a line-oriented input interface (at the OS level) but Windows to character-oriented input.

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms