Реализация встроенного OptionValue
содержит некоторую магию, так что
OptionValue [name ]
эквивалентноOptionValue [f, name]
, гдеf
- это голова левой части правило трансформации, в которомПоявляется OptionValue [name]
.
Есть ли у кого-нибудь идея, как добиться чего-то подобного для Options
, т.е. реализовать autoOptions []
, который разрешит к параметрам, определенным для символа в левой части правила преобразования, в котором появляется autoOptions []
?
Для ясности, я ищу способ сделать
Options[foo]={bar->1};
foo[OptionsPattern[]]:=autoOptions[]
foo[]
вывод {bar-> 1}
Конечная цель - сделать что-то вроде запрошенного в этом вопросе без необходимости изменить что-либо, кроме правой части определения.