一括表示

− 野ざらし言 −

[4336] ビープ鳴動時間

としき 2013/05/17(Fri) 15:23
http://www1.hinocatv.ne.jp/toshiki/
&bの鳴動時間が、引数に応じた厳密な値ではなく、結構アバウトだということは理解しています。なのでおそらく、私が理解できていないのは、入力側の変数のとりうる値とか何とか、そういう点なんだと思うのですが。

かつて、nifty:FGALDC/MES15/9376(1998/02/21)でH岡さんが、ニフティのログ読みマクロを発表されていました。これには、「&b(2-6*h)」というルーチンがついていました。
このマクロに対して、エラーだと倍の時間鳴動するような意味のコメントがついていました。おそらくこれ、hという変数が、発言の検索に成功したか失敗したかを表していると思うのですが、なぜそうなのかというのがよくわかりません。

私が何を勘違いしているのか、わかりやすく解説していただけると幸いです。

[4337] Re: ビープ鳴動時間

めざら 2013/05/18(Sat) 07:17
[4336]へのコメント http://homepage3.nifty.com/mezala/
あ,わたしが付けてるコメントですね。(^-^;ワスレテル

> &b(2-6*h)

引数の演算結果は,まるで負の値になるように見えますが,
コマンド #r #c の戻り値は 0 か -1 なので,
検索結果が成功:戻り値rは0,→ h=r, → 2-6*0
     失敗:戻り値は-1,→ h=r, → 2-(6*(-1)) → 2-(-6)

としきさんともあろう方が,この質問は不相応な気がしますが……

ん? あっ! 2-(-6) = 2+6

倍じゃない! (^o^; 4倍だった。
すみません,自己訂正します。ご指摘ありがとうございました。

それにしても,どうして昨夜も気付かなかったのだろう。。。
としきさんのことだから裏があるに違いないと思って,一晩寝かしたの正解。
-2+6 になったような気がしちゃったのですね。昔から惚けてたのか……。

[4338] Re^2: ビープ鳴動時間

としき 2013/05/18(Sat) 09:27
[4337]へのコメント http://www1.hinocatv.ne.jp/toshiki/
> としきさんともあろう方が,この質問は不相応な気がしますが……

いや、本当にわかっていなかったというか、混乱していたのですよ。

> 検索結果が成功:戻り値rは0,→ h=r, → 2-6*0
>      失敗:戻り値は-1,→ h=r, → 2-(6*(-1)) → 2-(-6)

まず、検索の失敗・成功がhに入ってくるというところまでは合ってました。
が、次。
成功と失敗のどっちが0になるか、あるいは0でないときの値はマイナス1かプラス1か、という点の自信が失せていたのですね。もし仮にプラス1だとすると、&bの引数は符号付だとマイナスだけど、それが符号なしで解釈されるとえらく大きな数字になるし、でももしかしたらそれのせいで倍になるのか・・・という感じで、堂々巡りをしていたわけですよ。
で、わからないなら聞いてしまえ、と。

> としきさんのことだから裏があるに違いないと思って,一晩寝かしたの正解。

私、裏も表もある人間ですからね。腹は黒くないつもりですが。


どうもありがとうございました。

↑ このページの先頭