プレイ日記
画像一番上の中の『DENTAKU』を実行して、『1+1=』と入力して見てください。 『1+1=2』と表示させたいのですが、ラベルが無いと怒られたり、勝手に終了したりとプチコンさんの機嫌が悪いです。 ひとまずGOSUBを使わないで制作を続けますが、バグかも知れないので、検証お願いします。
4そうだね
プレイ済み
返信[1]
親投稿
GOSUBの後の問題の処理 画像では、GOSUBでSLOT 1へ移動したのかの確認のため、BEEP 2が入っています。 結果:BEEP 2…実行される   A$=…実行されない 一体どうすれば…
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
USE命令はプログラムを書き換えた後に実行しないといけないようです。 そのスロットに有るプログラムを使用可能とするため書き換えた後は もう一度USE命令を実行する必要があるようです。
1そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
検証してみました。プログラムを書き換えたあとにUSE命令を書かないと前にUSE命令を実行したときのプログラムが実行されました。
1そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
興味深いですね。 use の後書き換えたって話かな??? プチコンはワンパスコンパイラ+インタープリタって実装っぽいので、それを念頭に置けばなんとなく理解できるかな。 ・use はコンパイルフェーズのみ(ソースコードを中間コードに変換) ・run/exec は use + 実行フェーズ(中間コードをインタープリト) という感じです。 use でコンパイルした後書き換えても、gosub 命令でインタープリタが実行するのは書き換える前のコードでしょう。
2そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
別スロットで実行したプログラムの変数の内容は呼び出すプログラムとは 別に管理されているため別スロットで呼び出すプログラムと同じ名前の 変数に値を代入しても呼び出すプログラム側の変数には変化がありません。 別スロットで実行したプログラムの変数の内容は VAR("スロット番号:変数名")で取得できました。
1そうだね
プレイ済み
返信[6]
親投稿
ありがとうございます。
0そうだね
プレイ済み