形式
sandbox( $code, $stderr, $stdout)
引数
- $code: ADPコード(入力)
- $stderr: 標準エラー(結果、省略可)
- $stdout: 標準出力(結果、省略可)
完了時の動作
- 指定された環境変数がある場合:次の述語を実行に移ります。
- 指定された環境変数が無い場合:バックトラックします。
バックトラック時の動作
- $codeで指定されたコードへバックトラックします。
説明
$codeで指定されたADPのコードをコンパイル&実行します。標準エラー($stderr)および標準出力($stdout)を変数に受け取ることが出来ます。$stderr,$stdoutは省略することも出来ます。
結果の受け取りを1つだけ指定した場合、$stdoutとみなされます。
sandbox述語はeval述語と同様に文字列をコンパイル&実行しますが、sandobox述語は制限モードで実行され、以下の述語が使用できません。
add_allowtag , remove_allowtag , select , selecta , sql , sqla , insert , update , save , delete , commit , rollback , tables , columns , _db_quote , _db_default_quote , file , fread , freadn , _file , fwrite , fwriten , log , fappend , logn , mkdir , rcsvf , rcsvfh , apachelog , _temp_path , unlink , rmdir , remove , bsave , bload , esave , eload , html , query , cookie , response_header , add_response_header , _cookie , wol , sendmail , spawnp , env , arg , sleep , exit , transfer , eval , sandbox
※Ver0.79で追加になりました。