insert $menu[result - 1];No.00802
ひろ さん 02/02/21 18:46
 
 秀丸担当さん今日は、ひろです。

$menu[0] = "1";
$menu[1] = "2";
$menu[2] = "3";
$menu[3] = "4";
$menu[4] = "5";
$menu[5] = "6";
menuarray $menu,6;
insert $menu[result - 1];

というマクロを実行すると、どれを選んでも「1」が書き込まれます。

[ ]
RE:00802 insert $menu[result - 1];No.00804
山紫水明 さん 02/02/21 20:36
 
 ひろさん,こんばんは。

》というマクロを実行すると、どれを選んでも「1」が書き込まれます。

 たしかにそうなりますね。
 で,insert 文の代わりに
message str(result - 1);
とすると,正しく表示されます。
result の結果を #r で受けて,
insert $menu[#r - 1];
とやっても正しくなります。
insert 文が result の値を変えているような感じですね。
 秀丸担当さんにコメントいただけると思いますが,ヘルプに result はできる
だけ変数で受けるように注意があるのは,こういう場合もあるということでしょ
うか。

     では, (^^)/~
                                        山紫水明

[ ]
RE:00804 insert $menu[result - 1];No.00805
秀丸担当 さん 02/02/22 18:06
 
>》というマクロを実行すると、どれを選んでも「1」が書き込まれます。

こちらでも再現できました。
insert文の処理の順番の都合で書き換わってしまっているようです。

> 秀丸担当さんにコメントいただけると思いますが,ヘルプに result はできる
>だけ変数で受けるように注意があるのは,こういう場合もあるということでしょ
>うか。

ヘルプの注意書きの意図とはちょっと違うような気がしますが、変数に代入して
使うことをお勧めします。
また改善できるように検討しておきます。


[ ]
RE:00805 insert $menu[result - 1];No.00806
ひろ さん 02/02/22 18:32
 
 秀丸担当さん今日は、ひろです。
> こちらでも再現できました。
> insert文の処理の順番の都合で書き換わってしまっているようです。
<中略>
> また改善できるように検討しておきます。
 宜しくお願いします。

[ ]