swi-prologのIOマニュアルページを閲覧していましたが、ファイル/ストリームから整数(または数値)を読み取るための述語が見つかりませんでした。グーグルでも何も見つかりませんでした:|
私はそれを書く方法を知っています、私はそれがより速いだろうと思うので、何かが組み込まれているのかどうか疑問に思っています。
swi-prologのIOマニュアルページを閲覧していましたが、ファイル/ストリームから整数(または数値)を読み取るための述語が見つかりませんでした。グーグルでも何も見つかりませんでした:|
私はそれを書く方法を知っています、私はそれがより速いだろうと思うので、何かが組み込まれているのかどうか疑問に思っています。
SWI-Prologでは、「http」パッケージにlibrary(dcg_basics)があります。DCG非終端記号//1があり、library(pio)、つまりphrase_from_file / 2と一緒に使用して、ファイルから直接読み取ることができます(ファイル全体を一度に読み取る必要はありません)。コアライブラリにlibrary(dcg_basics)を含めるために、メーリングリストでいくつかの議論がありました。興味がある場合は、アーカイブを確認して、リストにメールを送信してください。ライブラリへの追加として非常に便利だと思います。
入力を数値ごとにcharリストに分割できる場合、charsioライブラリには次の述語があります。
read_from_chars(+Codes, -Term)
これは、終了ピリオドを予期せずに、文字のリストから用語を読み取ります。
readutilライブラリには、ストリームからcharリストを読み取るための述語があります。次に例を示します。
read_stream_to_codes(+Stream, -Codes)
コードリストをサブリストに分割するのは簡単です(コンマまたはスペースで区切られていますか?)