¿Cuál es la mejor forma/canónica de definir una función con argumentos con nombre opcionales? Para hacerlo más concreto, creemos una función foo
con los argumentos con nombre a
, b
y c
, que por defecto son 1, 2 y 3, respectivamente. Para la comparación, he aquí una versión de foo
con argumentos posicionales:Argumentos con nombre opcionales en Mathematica
foo[a_:1, b_:2, c_:3] := bar[a,b,c]
Aquí se introduce la muestra y de salida para la versión de argumentos con nombre de foo
:
foo[] --> bar[1,2,3]
foo[b->7] --> bar[1,7,3]
foo[a->6, b->7, c->8] --> bar[6,7,8]
Se debe, por supuesto también ser fácil tener argumentos posicionales antes de los argumentos nombrados.
Ver también: http: // stackoverflow.com/questions/4682742/optional-named-arguments-without-wrapping-them-all-in-optionvalue – dreeves