名前とIDどちらでも検索可能な関数を里々、YAYA、華和梨で書いてみます。
(YAYAはそういった関数がテンプレートに用意されています)
戻り値はBOOL値です。
里々
# [b1]プラグイン名(1)[b1]プラグインID(1)[b1]プラグイン名(2)[b1]...[b1]プラグインID(n)[b1]というリストができます。 @installedplugin (set,プラグインリスト,)(loop,プラグインリスト作成,0,(Rの数)) @プラグインリスト作成 (set,プラグインリスト,(call,プラグインリスト)(バイト値,1)(R(プラグインリスト作成カウンタ))) @IsPluginExist (count,(call,プラグインリスト),(バイト値,1)(A0)(バイト値,1)) #--■使い方■--# *ラベル (call,IsPluginExist,PlaylistMaker)#=> 0 or 1
YAYA
// 「はろーYAYAわーるど」yaya_tmpl_util.txtに記述済み
On_installedplugin : void
{
_n = ARRAYSIZE(reference)
AYATEMPLATE.installedplugin_name = IARRAY
AYATEMPLATE.installedplugin_id = IARRAY
for _i = 0 ; _i < _n ; _i++ {
_a = RE_SPLIT(reference[_i],'[,\x1]')
AYATEMPLATE.installedplugin_name ,= _a[0]
AYATEMPLATE.installedplugin_id ,= _a[1]
}
}
AYATEMPLATE.IsPluginExist
{
if _argc == 0 {
0
return
}
if ASEARCH(_argv[0],AYATEMPLATE.installedplugin_id) >= 0 {
1
return
}
if ASEARCH(_argv[0],AYATEMPLATE.installedplugin_name) >= 0 {
1
return
}
0
}
//--■使い方■--//
foo
{
AYATEMPLATE.IsPluginExist('PlaylistMaker')// => 0 or 1
}
華和梨
# ミドルウェアによって接頭辞の書き方などは異なる
resource.installedplugin : $(
clear System.InstalledPlugin.Name;
clear System.InstalledPlugin.ID;
setstr @i 0;
while $[ ${System.Request.Reference${@i}} != $(NULL) ] $(
clear @a;
split @a ${System.Request.Reference${@i}} $(chr 1);
adddictstr System.InstalledPlugin.Name $@a[0];
adddictstr System.InstalledPlugin.ID $@a[1];
inc @i;
);
)
=kis
function IsPluginExist $(
if $[$[$(find System.InstalledPlugin.Name $@arg[1]) >= 0] || $[$(find System.InstalledPlugin.ID $@arg[1]) >= 0]] $(
return 1;
) else $(
return 0;
);
);
=end
#--■使い方■--#
エントリ : $(IsPluginExist PlaylistMaker)#=> 0 or 1