Управляйте элементами массивов динамически без цикла for в ruby - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть массив в ruby, и я хочу динамически изменять значения его элементов в зависимости от конкретного атрибута.Предположим, у меня есть массив,

array = [123,134,145,515]

И я хочу манипулировать этими элементами, например, умножением всех элементов на параметр, как я могу сделать это без необходимости делать это явно каждый раз, используя цикл for?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Вы ищете это:

array = [123,134,145,515]
n = <any number>

array1 =array.map{|a| a * n}

или

array.map!{|a| a * n} #which modify the array object itself
1 голос
/ 09 декабря 2011

Для этого вы можете использовать что-то вроде collect метода в ruby ​​для массивов.

Вы можете написать метод, который может вызываться всякий раз, когда требуется передать массив и параметр в качестве аргумента.

Например, вы можете написать метод, подобный этому;

array = [123,134,145,515]
parameter_value = 2

Теперь, в зависимости от требования, вы можете определить метод следующим образом:

  array.collect {|x| x * parameter_value}

В этом случае это вернет массив, подобный следующему:

array = [246, 268, 290, 1030]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...