Question

Compte tenu du programme Ruby suivant:

def getch
  begin
    system("stty raw -echo")
    ch = STDIN.getc
    puts "[#{ch}]"
    ch
  ensure
    system("stty -raw echo")
  end
end

print "Press a key: "
getch
puts "Have a nice day!"

Et la course suivante:

$ ruby a.rb 
Press a key: [t]
              Have a nice day!

Pourquoi "Passez une bonne journée!" est en retrait? Pourquoi la sortie n'est pas comme ça:

$ ruby a.rb 
Press a key: [t]
Have a nice day!

?

Était-ce utile?

La solution

Ok, ajoutant opost devrait le réparer. Changez votre troisième ligne pour ressembler à ceci:

system("stty raw opost -echo")

J'espère que c'est la réponse que vous recherchez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top