quiero hacer algo como¿Cómo obtengo opciones interdependientes?
foo[OptionsPattern[]] := OptionValue[b]
Options[foo] = {a -> 0, b :> OptionValue[a]};
foo[a -> 1]
y tienen Mathematica dame 1
, en lugar de 0
. ¿Hay una mejor manera de hacer esto que
foo[OptionsPattern[]] := (
Options[foo] = {a -> 0, b :> OptionValue[a]};
OptionValue[b]
)
foo[a -> 1]
?
Por un lado, es ineficaz establecer las opciones de foo
en cada llamada, especialmente si foo
tiene muchas opciones.
pregunta duplicado: [Definición de una función con un valor opcional que está por defecto en función de otra paramether de la función en Mathematica] (http://stackoverflow.com/q/7394113/211232) – WReach