Ruby: - ​​принять массив в качестве входных данных и поместить его в хеш - PullRequest
0 голосов
/ 21 ноября 2018

Пользователь должен ввести массив в качестве ввода.Хэш должен принимать входные элементы массива в качестве значений.

Создайте для этого программу на Ruby, используя циклы.Если массив завершен, выведите это утверждение: «Все элементы массива назначены ключам в хэше»

A = [1, 6, 4, 5]
H = {“k1” => 1
“k2” => 6
“k3” => 4
“k4” => 5}

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Другое решение может быть,

a.each_with_index.inject({}) { |m,(a,i)| m["k#{i+1}"] = a; m }

Обновление: ответ на ваш вопрос

puts 'Enter number of hash elements'
n = gets.to_i
n.times |i|
    hash["k#{i+1}"] = gets.to_i
end
puts 'All array elements are assigned to keys in the hash'
0 голосов
/ 21 ноября 2018
A = [1, 6, 4, 5]
Hash[[*'k1'.."k#{A.length}"].zip(A)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...