[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 18:21 / Filesize : 301 KB / Number-of Response : 983
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Proxomitron フィルター作成スレッド Part11



729 名前:think ◆MM0nnAOCiQ mailto:sage [2009/05/20(水) 02:21:42 ID: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準拠でいいかな…?






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<301KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef