Im пытаясь узнать, как добавить массивы в массивы, у меня есть следующий код:Добавление массива в массив рубин
puts "would you like to save a data set"
response = gets.chomp
if response == "y"
puts "create a new dataset?"
create_data_set = gets.chomp
while create_data_set == "y"
puts "what do you want to name the data set?"
dataset = gets.chomp
dataset = Array.new
puts 'would you like to add some grades to the array?'
store_grades_response = gets.chomp
while store_grades_response == "y"
puts 'enter grade ->'
grade = gets.chomp.to_i
dataset << grade
puts 'would you like to store another grade?'
store_grades_response = gets.chomp
end
all_data_sets = Array.new
all_data_sets.push(dataset)
puts "would you like to create a new data set?"
create_data_set = gets.chomp
end
end
puts all_data_sets
Im в основном просят пользователя ввести имя массива, который должен создать массив, добавьте значения в массив и, если потребуется, добавьте к нему еще несколько массивов и значений. Наконец, массив должен быть добавлен в массив. И затем я пытаюсь отобразить все массивы.
Код работает нормально, я все время перебираю, но когда он puts all_data_sets
Он показывает только последний массив, который был создан? я хотел бы хранить все массивы в одном массиве с именем all_data_sets
Что-то, что я заметил в вашем коде. В первом цикле 'while' вы создаете локальную переменную' dataset', которая должна быть «строкой», представляющей имя, которое пользователь хочет для ** набора данных **, но затем вы переназначаете 'dataset' в' array' который по существу означает, что имя, которое пользователь выбрал, потеряно –