Ruby self ключевое слово

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

Что-то вроде

def self.name
 self.name = "TEXT"
end

или же

def name2
 self.name = "TEXT2"
end

или же

class Array
 def iterate!(&code)
  self.each_with_index do |n, i|
   self[i] = code.call(n)
  end
 end
end

Ответы на вопрос(4)

Ваш ответ на вопрос