PRGINSしたコードを呼び出すことができるか
昨日、いろいろ試していた結果。
あるスロットから他のスロットにPRGINSでコードを追加して、追加したコードを呼び出すことができるか、という研究。
PRGEDIT 3 FUNCNM$="_ABC" IF !CHKCALL(FUNCNM$) THEN PRGINS "COMMON DEF "+FUNCNM$+"()" PRGINS " RETURN 1" PRGINS "END" ENDIF USE 3 PRINT CALL(FUNCNM$) '1が表示される
ポイントは、PRGINSをした後でUSEを実行していること。
おそらく、USEでそのスロットがコンパイルされるようだ。
(その証拠にUSE 3をPRGINSより前に入れると、Undefined functionエラーになる)
第4回大喜利で入賞したLOWERDASHもこの考え方で、起動時にコードを追加している。
が、USEは何回でも呼び出せるので、プログラム中で必要な時にどんどんコードを追加するという使い方ができると思う。
現在作成中の構造体ライブラリには一部にこの考え方を使おうかと思う。