Мне было интересно, можно ли создавать динамические массивы, т. Е. Массивы с кодом в зависимости от пользовательского ввода. Если пользователь вводит 3
, код создает три массива. Или, если пользователь вводит 5
, код создает пять массивов. Любые идеи о том, как я могу это сделать?Создание массивов по коду
2
A
ответ
1
print 'How many arrays? ' #=> suppose 5 is entered
arrays = Array.new(gets.to_i) { [] } #=> [[], [], [], [], [], []]
Это создаст массив с 5 различными массивами. Если вы хотите, чтобы каждый должен храниться в отдельной переменной, вы можете использовать тот факт, что Рубин позволяет динамически создавать переменные экземпляра:
print 'How many arrays? '
number = gets.to_i
number.times.each do |i| # if number is 5, i will be 0,1,2,3,4
instance_variable_set(:"@array_#{i}", Array.new)
end
p @array_0, @array_1, @array_2, @array_3, @array_4
Предположим, что мы вошли 3 здесь, первые 3 экземпляра переменных (array_0
через array_3
) будет печатать []
, в то время как последние 2 будут печатать nil
(так как они не имеют значения).
1
def create_arrays(n)
array_collection = []
n.times {array_collection.push([])}
array_collection
end
Смежные вопросы
- 1. Создание web.config по коду
- 2. Создание модели сопоставления по коду вместо XCode
- 3. Создание json-структуры по коду в android
- 4. Создание оболочки async WebApi по существующему коду
- 5. HDF5 - Создание атрибутов для групп по коду
- 6. Создание UITextFields по количеству массивов
- 7. Создание диапазона по группе массивов
- 8. Что касается состояния по коду
- 9. Создание массивов
- 10. Имитировать просмотр пользователей по коду
- 11. Создание массивов массивов в Bash и сортировка по производным значениям
- 12. Цитирование по массиву массивов (создание динамической таблицы)
- 13. Форматирование формул по коду?
- 14. Vim: Перемещение по коду
- 15. Разблокировать TABSTable по коду
- 16. Пользовательский просмотр по коду
- 17. Интеграция PDF по коду
- 18. Сброс Arduino по коду
- 19. активировать VoiceOver по коду
- 20. Истории пользователей по коду
- 21. сортировка по коду
- 22. добавление imageButtons по коду
- 23. phpDocumentor по устаревшему коду
- 24. Создать счет по коду
- 25. Отдельная документация по коду
- 26. Продвинуть виджет по коду
- 27. AngularJS-фильтрация по коду
- 28. Confused по следующему коду
- 29. Пресечено по коду
- 30. Время записи по коду
Вы хотите, чтобы эти массивы создавались в двойном массиве или отдельно? – daremkd
Отдельно, поэтому я могу ссылаться на них позже. –
Вы можете ссылаться на один массив в двойном массиве с помощью double_array [0], double_array [1] и т. Д. – daremkd