Как возвести в квадрат элементы массива при использовании «while» l oop без использования «inject», «each», «collect» или «map» в Ruby - PullRequest
0 голосов
/ 04 марта 2020

Я выполняю некоторые подготовительные работы для Bootcamp и у меня возникли проблемы с этой проблемой.

Мне нужно выстроить в квадрат массив при использовании while l oop и ничего больше. numbers = [1,2,3] и должно равняться [1,4,9]:

def square_array(numbers)
  counter = 0
  while numbers[counter] do
    return numbers[counter]
    counter += 1
  end
  counter ** 2
end

1 Ответ

0 голосов
/ 04 марта 2020

Без использования array-map:

def square_array(numbers)
  counter = 0
  sqr_numbers=[]
  while numbers[counter] do
    sqr_numbers<<numbers[counter]*numbers[counter]
    counter += 1
  end
  sqr_numbers
end

Вы можете map каждый элемент массива и возвести его в квадрат или делать что хотите:

def square_array(numbers)
  return numbers.map {|num| num ** 2}
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...