Я хочу сделать что-то вроде
foo[OptionsPattern[]] := OptionValue[b]
Options[foo] = {a -> 0, b :> OptionValue[a]};
foo[a -> 1]
, и Mathematica предоставит мне 1
вместо 0
. Есть ли лучший способ сделать это, чем
foo[OptionsPattern[]] := (
Options[foo] = {a -> 0, b :> OptionValue[a]};
OptionValue[b]
)
foo[a -> 1]
?
Во-первых, неэффективно устанавливать параметры foo
при каждом вызове, особенно если foo
имеет много параметров .