一括表示

− 野ざらし言 −

[5876] 続・N88-BASICのRENUMのようなマクロ

としき 2025/05/26(Mon) 00:41
http://toshiki.la.coocan.jp/
巨大なツリーは全く問題とは思わない私ですが、錯綜したツリーはなぜか問題と感じるものですから、新しいツリーにします。というか、マトレス的な発言だから新しいツリーにした、というのが正解かも。
とりあえず、乱れたログは回復したようで、祝着至極。

さて、#5687では

> ver.0.21として、

> 終了時のメッセージを出すことと、
> > #55 " " &?("%d",o) #m"
> > ……これを少しだけまとめて……"
> > #55 &?(" %d",o) #m"
> この変更を加えてみました。

#55 だけではなく、#5866でめざらさんからアドバイスされていた #56 の変更も加えたものをver.0.21としました。

ついで、ver.0.22aとして、ファイル先頭にジャンプして末尾まで検索するロジックにした版を作りました。これは行番号ジャンプを使用しています。
これはなんとなく動いているようです。
そして、ver.0.22bとして、マークジャンプを使用して、旧番存在確認は従前のまま上下検索を実施する版を作ってみました。が、これがなぜかうまく動かない。トレースしてみたところ、なんかおかしい。#56 の置換文字列の入力部分で&?("\1FTHEN\2%d\3",n)とかやっているのですが、ここの「%d\3」の部分が数字の連続になってしまった結果、解釈がこけている、というような感じ。ただ、これ、ver.0.21もver.0.22aも同じルーチンなんですよ。ローカル10番にテキストの比較をかましても、3つとも同じ。にもかかわらず、マークジャンプ版だけ正常に動作しない。なので、実は違うところでバグっているはず。

ちょっと頭を冷やして、もう一度トレースを追いかけてみます。
きっとどこか、私が見落としているところがあるのでしょう。
特に、マークジャンプの部分で。

[5877] Re: 続・N88-BASICのRENUMのようなマクロ

としき 2025/05/26(Mon) 02:00
[5876]へのコメント http://toshiki.la.coocan.jp/
うあ、こんな時間。
朝になったら普通に出社しなくてはならないのに。
時間を忘れてマクロをトレースしていました。
結果。

> そして、ver.0.22bとして、マークジャンプを使用
> が、これがなぜかうまく動かない。

原因がわかりました。
単に私が素直すぎただけ、というか。
#5870でいただいたアドバイスですが

> h=ln, の代わりに &#M(1) を,&#J(h) の代わりに &#U(1) を使うだけ

このとおりのコードを書いてしまっていました。
が、実は変数 h って、他でも使っていたんですね。
つまり、設定していない変数を参照していたのでした。
何やってんだか。

これで何とか動くコードができたので、各バージョンに#5872で教えていただいた時間計測ルーチンを仕込んで測定してみたいと思います。

[5878] Re^2: 続・N88-BASICのRENUMのようなマクロ

めざら 2025/05/26(Mon) 16:09
[5877]へのコメント http://mezala.la.coocan.jp/
> が、実は変数 h って、他でも使っていたんですね。

あーらら。よくコードを見ていなくて申し訳ないです。
よろしくない書き方で,としき兄の睡眠時間を削ってしまったのか。
本当にすみません。
○○の代わりに,なんて書かなきゃよかったですね。


ログの破損の方は,だいたい直しました。
またヌルの混入など変な症状がでなければよいですが……。
ネットワークのせいみたいなので,原因は分からず。
なにしろ,ふたつのアーティクルが接続しちゃってたりすることもあったので,単にヌル混入よりひどい。ヌルなら検索すれば見つかりますからね。混入っていうか,通常の文字がヌルに置き換わってバイト数は変わらないとか,紛らわしいことこの上ない。○-com のせいかなぁ……

↑ このページの先頭