Метод, который выполняет операции внутри массива - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть массив a = [1, 2, 'N']. Я хотел бы сделать метод, если a [2] = 'N', увеличить a [1] на 1. Я попробовал это:

def change
  if self[2] == 'N'
    self[1] += 1
  end
end

a.change

Это дает мне ошибку: неопределенный метод `change 'для [1, 2, "N"]: Массив

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2020

Вы можете передать массив в качестве аргумента:

def change(a)
  if a[2] == 'N'
    a[1] += 1
  end
end

change(a)
1 голос
/ 18 февраля 2020

a = [1, 2, 'N']

puts a

class Array
    def change()
      if self[2] == 'N'
        self[1] += 1
      end
    end
end

a.change

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