括弧の使い方の確認ですNo.00296
AKT さん 98/11/14 05:57
 
 困った時の掲示板頼みです。今回は確認なんですが。

 次のマクロを実行させると、『1』、『2』、『3』と次々に表示されてめでたく
終了しそうなんですが、『3』を表示する時に、「数字のところに文字が入ってる」
とエラーメッセージが……

//---------------------
#i=1;
#j=0;

if((#i) && (!#j))
message "1";

if(#i && (!#j))
message "2";

if(#i && !#j)
message "3";

//--------------

 つまり、"!"を変数に付けると括弧無しでは、resultが取れない?(ああっ表現が
わからない)みたいなんです。
 これは、そういう仕様だからなんでしょうか? もともと全部括弧を付けて使って
いたんですが、取ってもいけるような気がしたんで、取ってみたらこんな感じだった
と。
「仕様です」
と言われれば、
「やっぱり」
と納得します。と言うか、じゃなくてもそうしないと対応バージョンが……なので、
やっぱり確認だけです。

[ ]
RE:00296 括弧の使い方の確認ですNo.00297
AKT さん 98/11/14 06:02
 
 動作環境を書き忘れました。

 Win95 の 秀丸エディタ Ver2.28 です。

[ ]
RE:00296 括弧の使い方の確認ですNo.00298
セキセイニャンコ さん 98/11/14 17:49
 
同じような書き方をしても result が取れないことがあるのは、私も経験しています。
ver2.22 や ver2.23 で遭遇していたのですが、適当に(^^;)逃れてしまって、その後

確認はしていません。

どういう条件の下で発生するかが、とても掴めないような発生条件だったと思うの
ですが、起きるときには確実に起きるような性格の現象でしたので、どこか大事な
ところに大穴があいている(たとえば初期化に抜けがある)というような問題では
ないかと、おぼろげに感じていました。

はっきりした情報がまったくないコメントで、ごめんなさい。

[ ]
RE:00298 括弧の使い方の確認ですNo.00299
AKT さん 98/11/16 06:15
 
>はっきりした情報がまったくないコメントで、ごめんなさい。
 いえ、自分だけじゃなくて良かった、とほっとしております。が、

>どういう条件の下で発生するかが、とても掴めないような発生条件だったと思うの
>ですが、起きるときには確実に起きるような性格の現象でしたので、どこか大事な
 自分は例のマクロで確実にエラーが出ます。マクロ起動時の文法チェックを通りな
がらも、実行中にエラーではじかれると言った感じで。
 具体的には、

if(#i && !#j) ←9行目

 の所で「マクロエラー:数値が指定されるべき所に文字列が指定されています」と
メッセージが表示されます。
 原因は !#j でしょう。これを括弧で囲めば正常終了します。実は他の行はおまけ
で、この9行目だけを記述したマクロでも同様の結果となります。

 以上のことは秀丸エディタ Ver2.28で確認しました。と言うか、でしか出来ませ
ん。

[ ]