Argumentos nomeados opcionais sem agrupar todos eles em "OptionValue"
Suponha que eu tenha uma função com argumentos nomeados opcionais, mas insisto em me referir aos argumentos por seus nomes sem adornos.
Considere esta função que adiciona seus dois argumentos nomeados, aeb:
Options[f] = {a->0, b->0}; (* The default values. *)
f[OptionsPattern[]] :=
OptionValue[a] + OptionValue[b]
Como posso escrever uma versão dessa função em que a última linha é substituída por simplesmentea+b
? (Imagine que issoa+b
é uma enorme quantidade de código.)
As respostas para a pergunta a seguir mostram como abreviarOptionValue
(é mais fácil falar do que fazer), mas não como se livrar completamente disso:Argumentos nomeados opcionais no Mathematica
Adendo Filosófico: Parece que o Mathematica terá essa mágica comOptionsPattern
eOptionValue
pode muito bem percorrer todo o caminho e ter uma construção de linguagem para executar argumentos nomeados corretamente, onde você pode apenas se referir a eles por seus nomes. Como qualquer outra linguagem com argumentos nomeados. (Enquanto isso, estou curioso para saber quais são as soluções possíveis ...)