21.2. Pobieranie danych wejściowych znak po znaku

Problem

Piszemy interaktywną aplikację lub grę z interfejsem w postaci konsoli. Chcemy odczytywać dane wprowadzane przez użytkownika ze standardowego strumienia wejściowego po jednym znaku.

Rozwiązanie

W większości instalacji języka Ruby w systemie Unix rozszerzenie Curses jest instalowane standardowo. Oferuje ono kilka użytecznych możliwości, które możemy wykorzystać w celu sformułowanym powyżej.

Poniższy prosty program korzystający z rozszerzenia Curses wyświetla w lewym górnym rogu ekranu znaki wprowadzane na klawiaturze („echo”). Program zatrzymuje się, kiedy użytkownik naciśnie klawisz Escape (\e)[123].

#!/usr/bin/ruby -w # curses_single_char_input.rb require 'curses' include Curses ...

Get Ruby. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.