お忙しいのにこちらばかり盛り上がって申し訳ない。 まだ学校が始まっていないので,超絶ヒマしてます。 その一方で畑仕事のエンジンはかからないままです。 週末以降に次の v0.20 を試してみてください。初版は破棄します。 = likereno v0.20 = by H_ear #if 0 Like RENUM #endif * mad for vz! 1 ^\ "" ?. #^ #< a=10, ;増分値 (a) &n b=c=r, ;番号付開始値を取得 (b/c) 可変 (r+1)??{ &m(41) . } ;準備ができていないなら終了 mp[=2, ps[, RX[+, ;検索モード,正規表現有効 &01 ps=r, mi[-, ;挿入有効 :L ; ---- main loop ---- #t &?("%u",b) &#M(1) ;戻る位置をマーク ; ---- 飛び先の処理 ; #56 &?("[\s\t]%u",c) #m &?("♭%u",b) #m "ay" ; v0.10 × ; \x は \w を無効化するため マッチした番号を &n で都度確認 #F &?("[\s\t]%u",c) #m #^ #< :J #c (r)?{ ;見つからなければ &#U(1) >N ;戻って次行へ }?{ ;見つかったら #f &n ;番号の照合 (r==c)?{ ;一致すれば #t &?("♯%u",b) ;飛び先に書き換える+処理印 } >J ;次を探す } :N #> #d ;通常は r==-1 なら停止だが &n c=r, ;旧行番号を取得 (c) (r+1)?{ b+=a, >L } ;&n の値が不正になるので無視 :Q ; ---- 飛び先有効化 ---- #56 "♯" #m "" #m "ay" :z ; ---- exit ---- mi], RX], ps], mp], &d #] . 01: ; ---- buffer ---- (5+$)."$(10,0)$[16]" *> 単にGOTOやGOSUBの頭にフラグという意味で"F"をつけるだけでもいいこのあたりは好きずきでしょうね。わたしは昔から一時文字使用派です。 確か,最初の実用仕事マクロでも使った手でした。骨身に染みてる。 FGO(Fateか)なんてキーワードがなきゃいいですが……でも, カーソル移動とか発生しませんか?> アルゴリズムを見るといずれも、旧行番号と新行番号の対応表を作る最初はそうするものかなぁ……と思って,旧番号抽出マクロを作っては みたのですが,ひどく面倒だったので付け替え単位にしました。 あと,ひとつ。重要な仕様の再確認なのですが…… goto gosub だけでよいのですか? then とか else は? わたしはキーワードに束縛されないように組んでいるけど,気になる。
関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)
返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
- 以下のフォームから自分の投稿記事を修正・削除することができます -