Proxomitron フィルター作成スレッド Part11at SOFTWARE
Proxomitron フィルター作成スレッド Part11 - 暇つぶし2ch729:think ◆MM0nnAOCiQ
09/05/20 02:21:42 EnCka/f00
>>723
「グローバル変数にCSV形式で格納した値を$TSTして、"$SET(name\d=value)" を$ADDLST→$LSTでeval()を模倣」という処理でしょうか。
変数の値を解放できない($RMLSTがない)、のが厳しい…。

「CSVを利用して配列」というアイデアは前からあったので、それをフィルタにしてみました。

[Patterns]
Name = "Array ver.0.2b"
Active = FALSE
Limit = 256
Match = "test"
"$SET(ArrayList=a=val1,val2,val3,val4\nb=1,3,5,7,11,13)"
"$SET(CallArray=a[2])"
""
"$TST(CallArray=([a-z_][0-9a-z_]+)\9$SET(VarName=\9)\[([0-9]+)\9$SET(Key=\9)\])"
"$SET(CallArray=)$SET(Num=0)"
"$TST(ArrayList=([^\r\n]+[\r\n]+{1,*})++$TST(VarName)\=((^$TST(Num=$TST(Key)))[^,]+,$LST(increment))+([^,]+)\9*)"
"$SET(Value=\9)"
Replace = "$GET(VarName)[$GET(Key)]="$GET(Value)""

$SET(CallArray=a[2]) で配列を呼び出し。
例えば、"a[2]" を "b[0]" に変えると2行目で定義した配列bを呼び出します。
「[,\r\n] を値に持てない」という不具合を解消すれば、実用出来そうです。エスケープ処理はCSV準拠でいいかな…?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch