: 付録: パス名
: 付録: エラー
: Windows のエラー
  目次
  索引
疑問 21.2
; RETURNを入力しても
Asir のプロンプトが戻って来ない.
返事がない. なぜか?
答え 21.2
"
記号や
'
記号は組にして使用する.
たとえば
print("Hello);
としていて,
Hello のあとの
"
を忘れている可能性がある.
そのときは
" ;
RETURNでプロンプトが戻るはずである.
{
と }
も組にして使用する.
これが閉じていないとやはりプロンプトがもどってこないことがある.
そのときは }
RETURNでプロンプトが戻るはずである.
または, CTRL + C を入力して, プロンプトにもどしてもよい.
疑問 21.3
次のプログラムを実行したらいつまでも終りません.
; RETURNを入力してもプロンプトがでません.
S=0$
for (I=0; I<100; I+1) {
S = S+I;
}
print(S)$
答え 21.3
I の値が更新されない無限ループにおちいっていて
プログラムの実行中です.
CTRL + C でプログラムを中断して下さい.
for (I=0; I<100; I+1)
は誤りで,
for (I=0; I<100; I=I+1)
か
for (I=0; I<100; I++)
に訂正して下さい.
さて、Asir の言語処理系からのエラーメッセージをみよう.
疑問 21.4
[346] fctr(x^2-@i*y^2);
fctrp : invalid argument
return to toplevel
答え 21.4
取り扱えない引数があたえられている (invalid argument).
有理数を係数とする多項式しか因数分解できない.

は複素数を係数としている.
疑問 21.5
次のプログラムの動作が変です.
def foo(M) {
G1 = x+y;
G2 = x-y;
G = GM;
return(G^3);
}
答え 21.5
このプログラムはもしかして,
def foo(M) {
if (M == 1) {G = x+y;}
if (M == 2) {G = x-y;}
return(G^3);
}
というつもりで書いたのでないでしょうか?
GM は 引数 M の値に応じて,
G1, G2 と解釈されるわけではなくて,
GM という新しい局所変数と解釈され, 初期値は 0 となります.
疑問 21.6
asirgui の画面で, マウスを click してそこにある入力を修正しようとしても
できません.
答え 21.6
asirgui は Windows 標準の ユーザインタフェースにしたがっていない.
むしろ, unix のターミナルに似せてつくってある.
たとえば,
Windows 版
asirgui は, 通常の Windows における慣習とは異なる
形のコピーペースト機能を提供している. Window 上に表示されている文字列
に対しマウス左ボタンを押しながらドラッグすると文字列が選択される.
ボタンを離すと反転表示が元に戻るが, その文字列はコピーバッファに
取り込まれている. マウス右ボタンを押すと, コピーバッファ内の文字列が
現在のカーソル位置に挿入される. 既に表示された部分は readonly
であり, その部分を改変できないことに注意して欲しい.
: 付録: パス名
: 付録: エラー
: Windows のエラー
  目次
  索引
Masayuki Noro
平成15年10月20日