Argumentos nombrados opcionales sin envolverlos a todos en "OptionValue"
Supongamos que tengo una función con argumentos con nombre opcionales pero insisto en referirme a los argumentos por sus nombres sin adornos.
Considere esta función que agrega sus dos argumentos con nombre, a y b:
Options[f] = {a->0, b->0}; (* The default values. *)
f[OptionsPattern[]] :=
OptionValue[a] + OptionValue[b]
¿Cómo puedo escribir una versión de esa función donde esa última línea se reemplaza con simplementea+b
? (Imagina que esoa+b
es una gran cantidad de código).
Las respuestas a la siguiente pregunta muestran cómo abreviarOptionValue
(más fácil decirlo que hacerlo) pero no cómo deshacerse de él por completo:Argumentos nombrados opcionales en Mathematica
Anexo filosófico: Parece que Mathematica va a tener esta magia conOptionsPattern
yOptionValue
también podría ir hasta el final y tener una construcción de lenguaje para hacer argumentos con nombre correctamente donde pueda referirse a ellos por, ya sabes, sus nombres. Como cualquier otro lenguaje con argumentos nombrados. (Y mientras tanto, tengo curiosidad por saber qué soluciones son posibles ...)