size: 656 byte, supports -o -v option. Array A and B can be the same (NEW)
function xagrep( o, re, A, B, this, a, i,k ){
k=0;B[0]=A[0];if(o~"-v"){for(i=1;i<=A[0];i++){if(!match(A[i],re)) B[k+=1]=A[i];}B[0]=k;return k};
if(o~"-o"){B[B[0]+1]=0;for(i=1;i<=A[0];i++){a=A[i];if(i==k){i=i-B[B[0]+1]+1;B[B[0]+1]=k;k=B[0]+2;
while(i<=B[B[0]+1]){B[i++]=B[k];delete B[k++];}i=B[B[0]+1];k=i;B[B[0]+1]=0;}while(match(a,re)){
if(i>k){B[k+=1]=substr(a,RSTART,RLENGTH);}else{B[B[0]+1+(B[B[0]+1]+=1)]=substr(a,RSTART,RLENGTH);
k++}a=substr(a,RSTART+RLENGTH)}}if(i<k){i=k-i;k=B[0]+1;B[0]=i+B[B[0]+1];while(i<B[0])B[i+=1]=B[k+=1];
while(i<k)delete B[i+=1];}return B[0]}for(i=1;i<=A[0];i++){if(match(A[i],re))B[k+=1]=A[i];}B[0]=k;return k;
}
これ以上削れるところ無いかな?
高速化+サイズ優先で、変数はできるだけ使う数を少なくとの条件で
awkについて語るスレ $2
■ このスレッドは過去ログ倉庫に格納されています
708デフォルトの名無しさん
2012/08/22(水) 00:09:49.86■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ドナルド・トランプとジェフリー・エプスタインは「13歳の少女の処女をどちらが奪うかで口論」=米国下院報告書 [Hitzeschleier★]
- 文春報道否定のMatt 告発者について「みなさんびっくりしますよ。この人たち全員私よりも体の大きい男性です」医師2人、ホスト1人と主張 [Ailuropoda melanoleuca★]
- 【外食】500円だった天丼が730円...「てんや」深刻な客離れ 「庶民の味方」も値上げ続いて2か月連続で客数約1割減 [ぐれ★]
- 【ジュンク堂】「時給1280円・週5勤務」のアルバイト求人「奴隷並み待遇・やりがい搾取」 手取り約16万円では書店員なのに本を買えない [ぐれ★]
- 【芸能】千人以上が選ぶ『美人な女性芸人』ランキング発表! 3位「桜 稲垣早希」 2位「鳥居みゆき」 … 1位に選ばれたのは? [冬月記者★]
- 新給付、年収119万円以下は年5千円案 ★2 [首都圏の虎★]
- 【高市悲報】松屋、陥落!不正アクセスを検知 [219241683]
- 【高市悲報】八田與一の新たな写真、公開される [509448172]
- 経験上クズが多かった名字wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [632596506]
- 【高市悲報】「男が好きなんだろ?」と同僚に言ったり後ろから抱きついたりなどした教師をセクハラで停職処分 [165981677]
- 【悲報】サンリオジャパン、『VIVANT』本国の中国に続いて日本でもコラボ中止決定!中国ヘイトにブチギレが止まらず [591180291]
- 【動画】iPhone Duo、ヒンジに「隙間」があり中がホコリだらけになる [126026562]