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.