Если ! функция ничего не возвращает?

В руководстве по стилю сказано, что функции, которые изменяют свои аргументы, должны быть отмечены знаком !. Однако в пример при условии, что функция double! возвращает измененный аргумент a. Зачем возвращать его, если он уже был изменен? Это необходимо?


person Pigna    schedule 20.09.2017    source источник
comment
Это ничего не стоит и позволяет вам делать что-то вроде b = double!(a)*x в одной строке, если вам нужно.   -  person Alexander Morley    schedule 20.09.2017
comment
или даже double!(double!(a))   -  person Alexander Morley    schedule 20.09.2017
comment
Как сказал Александр, принято возвращать измененный контейнер.   -  person Michael K. Borregaard    schedule 20.09.2017
comment
@AlexanderMorley путем всенародного голосования кажется, что вы были выбраны для написания ответа.   -  person Dan Getz    schedule 20.09.2017


Ответы (1)


Это ничего не стоит и позволяет делать такие вещи, как:

b = double!(a)*x

or

double!(double!(a))

в одну строку, если вам нужно.

По этой причине (то есть для удобства) это стало условным.

person Alexander Morley    schedule 20.09.2017