[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
73.1 Introduction to numericalio | ||
73.2 Functions and Variables for plain-text input and output | ||
73.3 Functions and Variables for binary input and output |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
numericalio
はファイルやストリームを読み書きする関数のコレクションです。
プレインテキスト入出力のための関数は、数(整数、浮動小数点、多倍長浮動小数点)やシンボル、
文字列を読み書きできます。
バイナリ入出力のための関数は、浮動小数点数だけを読み書きできます。
もし既に入力データを記憶すべきリスト、行列、配列オブジェクトがあるなら、
numericalio
入力関数群はデータをそのオブジェクトに書き込むことができます。
そうでないなら、
numericalio
はデータを記憶するオブジェクトの構造をある程度推測し、
そのオブジェクトを返します。
Categories: File input · File output · Share packages · Package numericalio
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
プレインテキスト入出力では、
読み書きする項目それぞれがアトムであることが仮定されます:
整数、浮動小数点数、多倍長浮動小数点、文字列、シンボルであり、
有理数や複素数や他のどんなアトムでない式でもありません。
numericalio
関数群は、アトムでない式に直面した時、
何か適当なことを試みるかもしれませんが、
結果はここで規定されず、変更の対象となります。
入力ファイルと出力ファイルどちらのアトムも、
Maximaバッチファイルや対話コンソールでのものと同じフォーマットを持ちます。
特に、文字列はダブルクォートで括られ、
バックスラッシュ \
は次の文字の任意の特殊解釈を抑制し、クエスチョンマーク
?
は (Maximaシンボルではなく、)
Lispシンボルを意味するシンボルの始まりとして認識されます。
(分割された行をつなぎ合わせる)いかなる継続文字も認識されません。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
プレインテキスト入出力のための関数は、オプションの引数 separator_flagを取ります。 それはどの文字がデータを分離するかを示します。
プレインテキスト入力では、
separator_flagの以下の値が認識されます:
コンマで区切られた値のための comma
、
垂直バー文字 |
で区切られた値のための pipe
、
セミコロン ;
で区切られた値のための semicolon
、
空白かタブ文字で区切られた値のための space
。
もしファイル名が .csv
で終わり、
separator_flagが指定されていないなら、
comma
を仮定します。
もしファイル名が .csv
以外の何かで終わり、
separator_flag
が指定されていないなら、
space
を仮定します。
プレインテキスト入力では、
複数続く空白とタブ文字は1つの区切り文字として数えられます.
しかしながら、複数のコンマ、パイプまたはセミコロンは意味を持ちます。
連続するコンマ、パイプ、セミコロン文字は
(空白やタブが間に入ろうが入るまいが)
区切り文字の間に false
を持つと見なされます。
例えば、 1234,,Foo
は 1234,false,Foo
と同じと扱われます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
プレインテキスト出力では、comma
, pipe
, semicolon
, そして
space
はもちろん、タブ文字で区切られた値のための tab
も、
separator_flagの値として認識されます。
プレインテキスト出力では、
false
アトムは以下のように書かれます:
リスト [1234, false, Foo]
は 1234,false,Foo
と書かれ、
出力を 1234,,Foo
につぶすことはありません。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
numericalio
関数群は8バイトIEEE754浮動小数点数を読み書きすることができます。
これらの数は、
assume_external_byte_order
で設定されたグローバルフラグに従って、
最下位バイトから順でも最上位バイトから順でも記憶することができます。
もし指定されないなら、
numericalio
は外部バイト順は最上位バイトからと仮定します。
他の種類の数は8バイト浮動小数点に強制変換されます;
numericalio
はアトムでないバイナリデータを読み書きできません。
いくつかのLisp実装は
IEEE 754の特殊値(正負の無限大、非数値、指数表現でない数)を認識しません。
numericalio
でそんな値を読み込むことの効果は未定義です。
numericalio
は
バイトストリームを読んだり書いたりするためのストリームを開く関数を含みます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
read_matrix(S)
は、
ソースSを読み込み、行列として内容全体を返します。
行列のサイズは入力データから推論されます;
ファイルの行それぞれは行列の 1行になります。
もし複数の行が異なる長さを持つなら read_matrix
はエラーを出力します。
read_matrix(S, M)
は、
Mが一杯になるか、ソースが尽きるまで、ソース Sを行列 Mに読み込みます。
入力データは行優先順に行列に読み込まれます;
入力は Mと同じ行数と列数を持つ必要はありません。
ソース Sは 例えばファイルのまさに最初の行をスキップすることを許すファイル名かストリームでありえます。 (もし 最初の行が列の説明を含む CSVデータを読むなら、それは役立つかもしれません。)
s : openr("data.txt"); readline(s); /* skip the first line */ M : read_matrix(s, comma); /* read the following (comma-separated) lines into matrix M */ close(s); |
separator_flagの認識される値は
comma
, pipe
, semicolon
, space
です。
もし separator_flagを指定しないならファイルは空白で区切られていると仮定します。
Categories: Package numericalio · File input
Aが一杯になるか、ソースが尽きるまで、ソース Sを配列 Aに読み込みます。 入力データは列優先順に配列に読み込まれます; 入力は Aの次元に一致する必要はありません。
ソース Sはファイル名かストリームかもしれません。
separator_flagの認識される値は
comma
, pipe
, semicolon
, space
です。
もし separator_flagを指定しないならファイルは空白で区切られていると仮定します。
Categories: Package numericalio · File input
ソース Sが読み込まれ、ハッシュ配列として内容全体が返されます。 ソース Sはファイル名かストリームかもしれません。
read_hashed_array
は、
それぞれの行の最初の項目をハッシュキーとして扱い、
行の残りを(リストとして)キーと結合します。
例えば、行 567 12 17 32 55
は
A[567]: [12, 17, 32, 55]$
と同値です。
行数は要素数と同じである必要はありません。
separator_flagの認識される値は
comma
, pipe
, semicolon
, space
です。
もし separator_flagが指定しないならファイルは空白で区切られていると仮定します。
Categories: Package numericalio · File input
ソース Sを読み込み、入れ子のリストとして内容全体を返します。 ソース Sはファイル名かストリームかもしれません。
read_nested_list
は入力のそれぞれの行について部分リストを持つリストを返します。
行数は要素数と同じである必要はありません。
空の行は無視されません: 空の行は空の部分リストをもたらします。
separator_flagの認識される値は
comma
, pipe
, semicolon
, space
です。
もし separator_flagを指定しないなら、ファイルは空白で区切られていると仮定します。
Categories: Package numericalio · File input
read_list(S)
は、ソース
Sを読み込み、フラットなリストとして内容全体を返します。
read_list(S, L)
は、
Lが一杯になるかソースが尽きるまで、ソース Sをリスト Lに読み込みます。
ソース Sはファイル名かストリームかもしれません。
separator_flagの認識される値は
comma
, pipe
, semicolon
, space
です。
もし separator_flagを指定しないなら、ファイルは空白で区切られていると仮定します。
Categories: Package numericalio · File input
オブジェクト Xをデスティネーション Dに書き出します。
write_data
は行列を行につき一行で行優先順に書き出します。
write_data
は array
や
make_array
で生成された配列を行優先順でスラブ毎に改行して書き出します。
高次元スラブは更に改行で分割されます。
write_data
はハッシュ配列をキーそれぞれに結合したリストが続くように
1行に書き出します。
write_data
は入れ子のリストをそれぞれの部分リストを 1行に書き出します。
write_data
はフラットなリストすべてを 1行に書き出します。
デスティネーション Dはファイル名かストリームかもしれません。
デスティネーションがファイル名の時、グローバル変数
file_output_append
は出力ファイルに追加されるか上書きされるか決定します。
デスティネーションがストリームの時、
write_data
はデータすべてが書かれた後、特殊なアクションを取ります;
特にストリームは開いたままとなります。
separator_flagの認識される値は
comma
, pipe
, semicolon
, space
です。
もし separator_flagを指定しないなら、ファイルは空白で区切られていると仮定します。
Categories: Package numericalio · File output
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
numericalio
にバイナリデータを読み書きするためのバイトオーダーを知らせます。
byte_order_flagの2つの値が認識されます:
リトルエンディアンバイトオーダーとも呼ばれる最下位バイト優先を示す lsb
と
ビッグエンディアンバイトオーダーとも呼ばれる最上位バイト優先を示す msb
もし指定しないなら、
numericalio
は外部のバイトオーダーは最上位バイト優先を仮定します。
Categories: Package numericalio
file_nameという名前のファイルを読むための 8ビット符号なしバイトの入力ストリームを返します。
Categories: Package numericalio · File input
file_nameという名前のファイルに書き込むための 8ビット符号なしバイトの出力ストリームを返します。
Categories: Package numericalio · File output
file_nameという名前のファイルに追加するための 8ビット符号なしバイトの出力ストリームを返します。
Categories: Package numericalio · File output
Mが一杯になるかソースが尽きるまで、ソース Sから行列 Mにバイナリの 8バイト浮動小数点数を読み込みます。 Mの要素は行優先順で読み込まれます。
ソース Sはファイル名かストリームかもしれません。
ソースの要素のバイトオーダーは
assume_external_byte_order
で指定します。
Categories: Package numericalio · File input
Aが一杯になるかソースが尽きるまで、ソース Sから配列 Aにバイナリの 8バイト浮動小数点数を読み込みます。 Mの要素は行優先順で読み込まれます。
ソース Sはファイル名かストリームかもしれません。
ソースの要素のバイトオーダーは
assume_external_byte_order
で指定されます。
Categories: Package numericalio · File input
read_binary_list(S)
は、バイナリ
8バイト浮動小数点数の数列としてソース
Sの内容全体を読み込み、それをリストとして返します。
ソース Sはファイル名かストリームかもしれません。
read_binary_list(S, L)
は、リスト
Lが一杯になるかソースが尽きるまで、ソース
Sからバイナリ8バイト浮動小数点数を読み込みます。
ソースの要素のバイトオーダーは
assume_external_byte_order
で指定します。
Categories: Package numericalio · File input
バイナリ 8バイトIEEE 754浮動小数点数で構成されるオブジェクト
Xをディスティネーション Dに書き込みます。
他の種類の数は 8バイト浮動小数点に強制変換されます。
write_binary_data
は非数データを書くことはできません。
オブジェクト Xはリストか、入れ子のリスト、行列、もしくは、
array
か make_array
で生成された配列であり得ます;
Xは未宣言配列や他のいかなる種類のオブジェクトもありえません。
write_binary_data
は入れ子のリスト、行列、配列を行優先順に書き込みます。
デスティネーション Dはファイル名かストリームかもしれません。
デスティネーションがファイル名の時、グローバル変数
file_output_append
が出力ファイルに追加されるか上書きされるか決めます。
デスティネーションがストリームの時、データすべてが書かれた後
write_binary_data
は特別な動作は何もしません;
特に、ストリームは開かれたままです。
デスティネーションの要素のバイトオーダーは
assume_external_byte_order
で指定します。
Categories: Package numericalio · File output
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by 市川雄二 on June, 21 2016 using texi2html 1.76.