21.5. Konfiguracja i porządkowanie po programie wykorzystującym bibliotekę Curses

Problem

W aplikacjach wykorzystujących biblioteki Curses bądź Ncurses trzeba napisać sporo kodu konfiguracyjnego i porządkującego. Chcemy wyeliminować tę konieczność.

Rozwiązanie

Oto metoda opakowująca, która inicjuje bibliotekę Curses i przekazuje obiekt głównego ekranu do bloku kodowego:

require 'curses'

module Curses
  def self.program
    main_screen = init_screen
    noecho
    cbreak
    curs_set(0)
    main_screen.keypad = true
    yield main_screen
  end
end

Poniżej zamieszczono prosty program w języku Ruby, który wykorzystuje metodę opakowującą w celu wypełnienia ekranu ciągiem znaków umieszczanych w losowych lokalizacjach:

Curses.program do |scr| str = ARGV[0] || 'Test' ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.