記事閲覧

− 野ざらし言 −

5191 Re^2: 真剣マクロ(tag_rplp.def)

文太 2022/12/10(Sat) 18:19 [5190]へのコメント
めざらさん

 仕様はそのとおりです。

>少し面倒だなと感じることは確かにあります。
 僕は、ほんと30年前から、《すごく》面倒だと感じているようです。
 だいたい検索窓で正規表現文字列を書き上げただけで、ふぅ となり、↑してまだ同じ文字列をみると、こんなの機械の仕事だろう! といつも感じているようです。

>「\1\2\3\4」って入力するの簡単だから…と言ったらニベもないですが。
 これ、途中を消さなくちゃでしょう。そして、ときどき、^とか$を残して置換しちゃったりして。こいつらも、リテラルに出てくるんだな、これが。

>でも,自分もテキスト上でパターンを書いておいて
 ここを思い切りました! あの窓が緊張感(疲労感)を誘うのだ、と。

>自分だったらどう作る…と考えたとき,別のテキストに切り出しておいて,
>\(と\)に囲まれた【最短の】文字列をヌル置換した数を記憶しておいて,
 これです! ただ、「最短」が問題で、やっぱり置換でなく(「最左最長」が引っかかる)カーソルごにょごにょ、ですよね。
 \( \) の個数を置換でチェックは考えましたが、そもそも要らない、という結論。"funny situation."これを気にしないと、ただ頭からの処理で済む。

 ネストもない、個数の不整合もない、という決め打ちです。こう決めてしまったら、\( のあとに必ず \) が来ると確信できる。INdos flagならぬ、INtag flagで最初、攻めてました。これを止めて、\)が出てくるまで消せ、消し続けろ、と決めたら、ああ、できたぁ、と。

 真ん中あたりの10行くらいに、50%のエネルギー、上の仕様を決めるのに45%のエネルギーがかかりました。コードの70%以上は15分で書きました。

>文字列のあったはずの場所に置換数分の\[num]を出力する……

i++, 'i' とか、できないんだ、と知りました。あはははは。
ダメだよな、これ。あはははは。それ、定数出力だ、constantだ。

>[^\()] を含まない文字列を指定するのがやたら面倒とか,

 ここは意図が読めませんでした。?

>こういうのって,やり方は色々あって,考えるの楽しいですよね。

 色々あるんだろうな、と僕も思いました。
 ただ、僕は、いつも、自分で結果の出せる問題と方法、これにばかりにこだわってますね。
 結果がだせないなら(1か月かかってもよい)、そもそもやるな、あきらめろ、と。

>> &s
>> #k #i ;duplicate line
> ここのとこ,非ブロックの #y #k はサイレントで実行しないのが吉。

 了解です。ありがとうございます。こういうの、とっても大事。
 触らぬ神に祟りなし。m(__)m

>※カーニハン先生の「ソフトウェア作法」,えらく使い込まれた感じに傷んでいる本を
>図書館で借りてちょっとだけ読みました。ふむふむ,で終わっちゃった。(笑)

 『作法』と言われても分からないから調べました。konno掲示板 #10411 「古典」。
_Software Tools_ですね。パスカル版も翻訳を出せばよかったのに。そっちのほうが需要あったでしょうに。
 でも、Pascal も Fortran も、動かす予定。
 趣味って、終わりないですね。
 でも、やっぱり、Vzマクロ、楽ですよぉ。宝物。

 ほんとに、grep (find), sed (translit+α), 正規表現エンジンを作ってました。
 ふむふむ以上いくかなぁ? Pascal版は、書籍も手に入れてしまった。アメリカから。\2500ぐらい。(内、送料\2000。本を買うの、好きだねぇ)ほんまもののテキストフォーマッタ(.ceとか出てくる奴)って、あんまり興味ないんだけど。

 "Epilogue"(「おわりに」)を読むと、安心しますよ。もう遅いか。
 "Fight against complexity." いつも、これです。両版とも同一でした。

関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)

- 5188.真剣マクロ(tag_rplp.def) - 文太 22/12/10-12:03

返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

おなまえ :
Eメール :
タイトル :
メッセージ: 通常モード(推奨)  整形モード(非推奨)  preモード(空白再現)
※ プログラムコード等を含まない場合は,できるだけ通常モードをご利用ください。

参照先 :
暗証キー: (英数字で8文字以内) プレビューなし


- 以下のフォームから自分の投稿記事を修正・削除することができます -

処理 記事No. 暗証キー