Как я могу сохранить свой результат в массиве на языке ruby? - PullRequest
0 голосов
/ 11 февраля 2019

Мой учитель попросил меня написать программу на Ruby, содержащую цикл, и на каждой итерации он случайным образом выбирает: head (представлен 1) или tail (представлен 0) и сохраняет результат (0 или 1) вмассив.Я не уверен, как сохранить свой результат в массив, и это мой код

p "Select a number between 50 to 100"
    x = gets.to_i
    i = 0
    array[x]
    while i < x
     a = rand(0..1)
     array.push(a)
     i += 1
    end

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вы можете использовать конструктор блока Array в Ruby для выделения и инициализации массива в виде одной строки:

array = Array.new(n) { rand(0..1) }  # sample result: [0, 0, 1, 0, 1, 0] for n = 6

Аргумент n определяет size массива и блокаАргумент используется для инициализации каждого из элементов n.

0 голосов
/ 11 февраля 2019

Слушай, можешь попробовать следующее:

number_of_times = gets.to_i
array = []
number_of_times.times do 
  random_result = rand(0..1)
  array.push(random_result)
end

или (как комментарии)

n = gets.to_i
array = n.times.map{ rand(0..1) }

После выполнения этого array будет иметь результат всех рандомизированныхoptions.

Note1 : Вам не нужно инициализировать массив с шириной, вы можете просто инициализировать массив и передать ему элементы.

Note2: Нет проблем с вашим оператором while, но в ruby ​​у вас есть итератор .times, более понятный для этого случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...