Используйте функцию .ToString()
, чтобы получить желаемый результат:
(Get-Date).adddays(-1).ToString("yyyyMMdd")
Из документов rdoc (выделено мной):
Имена классов, исходных файлов и любые имена методов, содержащие подчеркивание или предшествует хеш символ автоматически гиперссылка с комментария к их описание.
Обозначение # используется для обозначения канонический метод экземпляра
, такой как String # upcase
. . нотация используется для ссылки на метод конкретного экземпляра, например mystring.upcase
. Различие сделано для того, чтобы не подразумевать, что метод класса «upcase» существует.
Все приведенные выше ответы верны. Единственное, что я хотел бы добавить, это то, что стиль документации, который вы сказали, что вы бы предпочли
Class.method
, будет легко спутать с методами класса. Поскольку вы можете вызывать методы класса в ruby, используя приведенный выше синтаксис:
class Foo
def self.say_hi
puts "hi"
end
end
Foo.say_hi # => prints "hi"
Обратите внимание, что соглашение:
Class#method
, а не
object#method
В коде у вас будет object.method
, если объект
был экземпляром класса
. Соглашение #
не используется в коде.
Из документации RDoc :
Use :: для описания методов класса, # для описания методов экземпляра и использования. например, код.
Я только что понял, что ни один из других ответов не затрагивает самый тривиальный аспект вопроса: почему знак #
?
У меня две теории:
#sym
(вместо : sym
), как в Ruby. Итак, если вы хотите сослаться на объект Method (в отличие от вызова метода), тогда вы должны вызвать что-то вроде Array >> #new.
( >>
сам по себе является методом, возвращающим переданный ему метод. Так, в Ruby это будет Array.method: new
.) В документации Smalltalk обычно упоминаются методы. как Class >> method
, но в Ruby Class: method
имело бы больше смысла, за исключением того, что его легко спутать с Class :: method
. Поэтому был выбран метод Class #
. #
является символом комментария в Ruby. Окончательный ответ может быть только дано тем, кто изобрел эту конвенцию. Если бы он был изобретен для книги Programming Ruby , то это были бы либо Дэйв Томас, либо Энди Хант, но я как бы в этом сомневаюсь. Книга вышла в 2001 году, Ruby - в 1993, как они относились к методам до этого?
Окончательный ответ может дать только тот, кто придумал это соглашение. Если бы он был изобретен для книги Programming Ruby , то это были бы либо Дэйв Томас, либо Энди Хант, но я как бы в этом сомневаюсь. Книга вышла в 2001 году, Ruby - в 1993, как они относились к методам до этого?
Окончательный ответ может дать только тот, кто придумал это соглашение. Если бы он был изобретен для книги Programming Ruby , то это были бы либо Дэйв Томас, либо Энди Хант, но я как бы в этом сомневаюсь. Книга вышла в 2001 году, Ruby - в 1993, как они относились к методам до этого?