Каков наилучший / канонический способ определения функции с необязательными именованными аргументами? Чтобы конкретизировать, давайте создадим функцию foo
с именованными аргументами a
, b
и c
, которые по умолчанию равны 1, 2 и 3 соответственно. Для сравнения, вот версия foo
с позиционными аргументами:
foo[a_:1, b_:2, c_:3] := bar[a,b,c]
Вот пример ввода и вывода для версии с именованными аргументами foo
:
foo[] --> bar[1,2,3]
foo[b->7] --> bar[1,7,3]
foo[a->6, b->7, c->8] --> bar[6,7,8]
Конечно, также должно быть легко иметь позиционные аргументы перед именованными аргументами.