21.1. Pobieranie danych wejściowych wiersz po wierszu

Problem

Piszemy interaktywny program z interfejsem w postaci konsoli i chcemy pobierać dane wejściowe od użytkownika wiersz po wierszu. Wyświetlamy znak zachęty, a użytkownik wpisuje dane i potwierdza je za pomocą klawisza Enter.

Rozwiązanie

Zamiast czytania standardowego wejścia w całości, można czytać je wiersz po wierszu za pomocą metody gets lub readline.

Poniższa metoda wypełnia strukturę danych informacjami wprowadzonymi przez użytkownika.

def confirmation_hearings questions = [['Jak ci na imię?', :name], ['Ile masz lat?', :age], ['Dlaczego chciałbyś zostać ministrem finansów?', :why]] answers = questions.inject({}) do |answers, qv| question, value = qv print question + ' ...

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.