09/05/18 03:10:18 mwbhothI0
>>715
>Proxomitronにも関数と配列と比較演算子があれば面白いのに、と思うことしきり。
初級者ですが、不完全ながらある程度は(一時)LISTで実現可能ですね。
これは纏めて$SETするだけみたいなLISTだけど…
※think氏の【filter_Type_Web_20070710.zip】に入っている incrementするLISTを使用させてもらっています。
[Blocklists]
List.ExCMD = "..\Lists\ExCMD.txt"
# (NOADDURL) ※このリストは変数\9を使用します。
#
# $SET(ExCMD=拡張コマンド) で $LST(ExCMD)
# $ARRAY VarName=var1,var2,var3 //,,は初期化せず飛ばす仕様です。
$TST
(ExCMD=$ARRAY[ ,]([a-z_][0-9a-z_]+{0,19})\9$SET(ExCMDn=\9)[ ]+{0,*}\=(^(^*[^,]))$SET(Num=0)
((,$LST(increment))+{0,*}
(([^,]+{1,*})\9
(,|(^?))$SET(ExCMDt=$GET(ExCMDt)\$SET\($GET(ExCMDn)_$GET(Num)=\9\))
$SET(ExCMDclear=$GET(ExCMDclear)\$SET\($GET(ExCMDn)_$GET(Num)=\))
$LST(increment)
)
)+
)$ADDLST(ExCMD_TmpListA,\$TST\(ExCMD=@$ARRAY\[ \]$GET(ExCMDn)\[ \]\(^?\)\)$GET(ExCMDt))
$ADDLST(ExCMD_TmpListA,\$TST\(ExCMD=@clear\[ \]$ARRAY\[ \]$GET(ExCMDn)\[ \]\(^?\)\)$GET(ExCMDclear)\$SET\(ExCMD=\))
$SET(ExCMD=@$ARRAY $GET(ExCMDn) )$LST(ExCMD_TmpListA)$SET(ExCMD=@clear $ARRAY $GET(ExCMDn) )
$SET(ExCMDn=)$SET(ExCMDt=)$SET(ExCMDclear=)
$TST(ExCMD=@clear[ ]*)$LST(ExCMD_TmpListA)
# $EVAL Proxomitronで有効な式
# 誰かお願い (一時LIST + $ADDLST で可能)