From: "Hakusa@..." Date: 2007-05-22T10:55:03+09:00 Subject: Oddities of Ruby to a noob I have some good experience in other languages and consider myself a good programmer, but some of the good techniques I've picked up don't seem to work here. Here are two examples. x=aNum y=0 x.times do (y+1).times do Stuff end end y never actually increments. Why? (No pun intended.) y should go up one x times by the end. Instead it stays at zero. And it's kind of troubling that is does the loop once even when y is zero; or is that just because it's a 'do' loop and not a 'for' loop? And I've learned that to do the gets thing, I have to have STDOUT.flush before it. It seems that no matter what I do, if it's even two lines above the gets, I get the gets at the start of the program even though it was towards the end. Why? If it is such a common thing, why is STDOUT.flush not automatically called by the language? Although as much as this all complexes me, I am very glad to be able to do this with guilty glee: STDOUT.flush puts 'Hello ' + gets.chomp Although I have a feeling I'll rarely get to use this trick.