Ruby - Могу ли я пропустить строку ввода с консоли и начать чтение со следующей строки? - PullRequest
1 голос
/ 23 сентября 2019

Я выполняю некоторые упражнения Ruby на HackerRank, и одна из задач состоит в том, чтобы отделить строку на основе значения индекса каждого персонажа.По существу, четные символы входят в одну строку, а нечетные символы - в другую.Я уже написал основную часть кода, и я уверен, что он работает, но мне нужна помощь с чтением ввода с консоли.

Входные данные выглядят следующим образом:

2
Hacker
Rank

Первая строка ввода - это количество строк, над которыми нужно выполнить действие, а затем за ними следуют две строки.Я видел, что в коде был комментарий, в котором говорилось, что он читает входные данные из STDIN, но я только научился «получать».И когда я пытался использовать «get», он просто захватывал строку ввода «2».Есть ли способ пропустить первую строку ввода и перейти прямо к первой строке?Я предоставлю остальную часть моего кода ниже на случай, если кому-то понадобится:

str = gets
puts str 

evens = ""
odds = ""

arr = str.split("")

arr.each.with_index do | letter, indx |
    if indx.even?
        evens += letter
    else
        odds += letter
    end 
end

puts evens + " " + odds

1 Ответ

1 голос
/ 23 сентября 2019

Вы можете читать такие слова:

puts 'Number of words:'
words = []
number_of_words = gets.to_i
number_of_words.times do |i|
  puts "Word #{i + 1}:"
  words << gets.chomp
end
p words

Вывод:

Number of words:
2
Word 1:
Hacker
Word 2:
Rank

p words
#~> [Hacker", "Rank"] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...