Options[tttf] = {a -> 1, b -> 2};
tttf[OptionsPattern[]] := Module[{},
(*希望把OptionsPattern[]里的参数"直接"传递给kkkf,即不用再输入一次OptionValue*)
];
Options[kkkf] = {a -> 1, b -> 2}
kkkf[OptionsPattern[]] := Module[{}, OptionValue[a]];
这不是问题的全部
tttf[no_, OptionsPattern[]] := Module[{opa},
If[a === Automatic, opa = OptionValue[Length@no]]
];
我的其中一个选项设成Automatic的时候,会结合no来进行处理。我希望只处理一次,也就是把a选项替换之后,再向kkkf“直接”传递。
强行做我觉得也可以,我想问问有没有更简短的方法。
————————————————————————————————————————————————
没说清楚,直接上码。
SpyLOL`Extract`FreqTmates[no_String,OptionsPattern[]]:=Module[
{RT,RTUn,RTFre,RTPos,
ops=OptionValue[ExSummoner],
opm=OptionValue[ExRecentMatch],
opmlim=SpyLOL`Extract`MatchsLength[no],
opi=OptionValue[ExInformation],
opp=OptionValue[ExOpponent]
},
If[opm===Automatic,
opm=-Range[opmlim],
If[!ListQ[opm],opm={opm}];
If[Max@opm>opmlim,Message[SpyLOL`Extract`Match::limExRecentMatch,opm,opmlim];opm=-Select[opm,#<=opmlim&],opm=-opm];
];
If[!ListQ[opi],opi={opi}];
Print[opm];
RT=Reverse@SpyLOL`Extract`Match[no,ExRecentMatch->opm,ExInformation->opi];
RTUn=Union@Flatten@RT;
RTFre=Transpose@Table[Table[Count[#,j]&@(Flatten@RT[[i;;-1]]),{i,Reverse@opm}],{j,RTUn}];
RTPos=Map[Position[RTUn,#]&,RT,{2}];
Return[{RT,RTUn,RTFre,RTPos}];
];
里面这个SpyLOL`Extract`Match和SpyLOL`Extract`FreqTmates的参数一样。
我希望opm只被处理一次,SpyLOL`Extract`Match我还会单独使用,也就是opm在里面还会按相同的方式处理。
感觉手忙脚乱了。毕竟不是专业程序猿。
最后感到非常奇怪,代码不是彩色的