Почему методы в документации Ruby предшествовавшие знаком хеша?

Когда я вижу любой метод Ruby, распечатанный в тексте, это обычно появляется как:

Class#method

или

#method

Теперь, я использовал бы:

Class.method

Почему всем методам Ruby предшествует знак фунта? Есть ли какая-либо причина его?

56
задан double-beep 26 October 2019 в 11:30
поделиться

0 ответов

Из документов rdoc (выделено мной):

Имена классов, исходных файлов и любые имена методов, содержащие подчеркивание или предшествует хеш символ автоматически гиперссылка с комментария к их описание.

16
ответ дан double-beep 26 November 2019 в 17:03
поделиться

Обозначение # используется для обозначения канонический метод экземпляра , такой как String # upcase . . нотация используется для ссылки на метод конкретного экземпляра, например mystring.upcase . Различие сделано для того, чтобы не подразумевать, что метод класса «upcase» существует.

28
ответ дан dstnbrkr 26 November 2019 в 17:03
поделиться

Все приведенные выше ответы верны. Единственное, что я хотел бы добавить, это то, что стиль документации, который вы сказали, что вы бы предпочли

Class.method

, будет легко спутать с методами класса. Поскольку вы можете вызывать методы класса в ruby, используя приведенный выше синтаксис:

class Foo
  def self.say_hi
    puts "hi"
  end
end

Foo.say_hi    # => prints "hi"
7
ответ дан 26 November 2019 в 17:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: