ADP
Programming Language ADP

English

Sourceforge.net

SourceForge.JP

Loading

transfer (別のスクリプトに制御を渡す)


形式
 transfer( $filepath)
引数
  • $filepath: ファイル名
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。

説明
$filepathで指定されたスクリプトに制御を移します。BASICのCHAINステートメント、ASPのtransferメソッドとほぼ同じです。
transfer述語を実行したスクリプトの以降の別のゴール節は実行されません。以下のコードで printn は実行されません(printnは別のゴール節)。
,transfer($filepath);
,printn('transfer was called');

transfer述語を実行したスクリプトの同じゴール節の残りの述語は実行されます。以下のコードで printnは実行されます(,で区切られている為、printnは同じゴール節)。

,transfer($filepath),printn('transfer was called');


コード例(lib/transferl.p)
,printn('transfer1');
,transfer('transfer2.p');
,printn('I am not printed.');

コード例(lib/transfer2.p)
,printn('transfer2');
,transfer('transfer3.p'), printn('I am printed.');

コード例(lib/transfer3.p)
,printn('DONE.');

実行例
D:\sample\lib>adp transfer1.p
transfer1
transfer2
I am printed.
DONE.


Powered by ADP.