公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
813 浏览
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在里面还会按相同的方式处理。

感觉手忙脚乱了。毕竟不是专业程序猿。

 

最后感到非常奇怪,代码不是彩色的

用户: flumer (161 分)
修改于 用户:flumer
没太懂题,是Options[kf]=Options[tf]或者kf[no_, OptionsPattern[tf]]之类的意思?
选项传递确实很麻烦,我也是用很麻烦的方式解决的

登录 或者 注册 后回答这个问题。

...