У меня есть массив в Ruby. Я хочу:Массирование массива Ruby на основе свойств индекса
Получите подмножество элементов на основе их положения в массиве - скажем каждый пятый элемент. Я могу сделать это с помощью each_index, или расширить и создать метод select_with_index.
Выполнение некоторых операций над подмножеством, которое зависит от всего подмножества - скажем, subset.map {| element | subset.sum - элемент}
Это немного, я застрял на: Создать новый массив с правильными элементами заменены элементами на шаге 2. Например:
Так мои весьма запутанное пример может иметь:
Start: [3,0,6,11,77,2,1,5,48,9,122,0,43,13,564]
Select: [3,2,122]
Map: [124,125,5]
Replace: [124,0,6,11,77,125,1,5,48,9,5,0,43,13,564]
Как я могу выполнить замену элегантным способом? Есть ли способ создать метод, который будет сочетать два массива и взять блок {| i | i% 5 == 0}?
(Это мотивировано подходом к написанию компактный Sudoku Solver, чтобы узнать немного больше рубин ...)
EDIT: Были изменены примеры значений. Надеюсь, теперь это понятно.
Um (3 + 2 + 122) -122! = 6 –
D'oh. Нет оправдания. –