Вопрос:

что делает символ вертикальной черты в начале имени определения метода

ruby-on-rails ruby

221 просмотра

2 ответа

100 Репутация автора

Я читал какой-то код и увидел метод, который определяется следующим образом (Ruby):

class BaseQuery
  def |(other)
    ChainedQuery.new do |relation|
      other.call(call(relation))
    end
  end
end

Я пробовал искать документы ruby, а также SO, но не могу найти примеры "|" используется в начале определения метода. Может кто-нибудь объяснить, пожалуйста, цель начала определения метода с "|" и как это влияет на этот метод?

Большое спасибо, любая оценка будет высоко ценится.

Автор: frostini Источник Размещён: 08.11.2017 11:31

Ответы (2)


1 плюс

3828 Репутация автора

Решение

На сайте, на который вы ссылаетесь , пример метода можно читать как канал, а не как |.

Для получения дополнительной информации см. Каковы ограничения для имен методов в Ruby?

Автор: anothermh Размещён: 09.11.2017 12:32

2 плюса

136335 Репутация автора

« "|" будучи использованным в начале определения метода, действительно определяет метод| .

Автор: sawa Размещён: 09.11.2017 04:29
Вопросы из категории :
32x32