Examples cleanup
[maxima.git] / doc / info / ja / numericalio.texi
blob649ebfc1936fd2998e8fdd3301be016e753c868b
1 @menu
2 * Introduction to numericalio::
3 * Functions and Variables for plain-text input and output::
4 * Functions and Variables for binary input and output::
5 @end menu
7 @node Introduction to numericalio, Functions and Variables for plain-text input and output, numericalio, numericalio
8 @section Introduction to numericalio
10 @code{numericalio}は
11 ファイルやストリームを読み書きする関数のコレクションです。
12 プレインテキスト入出力のための関数は、
13 数(整数、浮動小数点、多倍長浮動小数点)やシンボル、文字列を読み書きできます。
14 バイナリ入出力のための関数は、
15 浮動小数点数だけを読み書きできます。
17 もし既に入力データを記憶すべきリスト、行列、配列オブジェクトがあるなら、
18 @code{numericalio}入力関数群はデータをそのオブジェクトに書き込むことができます。
19 そうでなければ、
20 @code{numericalio}はデータを記憶するオブジェクトの構造をある程度推測し、
21 そのオブジェクトを返します。
23 @opencatbox
24 @category{File input} @category{File output} @category{Share packages} @category{Package numericalio}
25 @closecatbox
27 @subsection Plain-text input and output
29 プレインテキスト入出力では、
30 読み書きする項目それぞれがアトムであることが仮定されます:
31 整数、浮動小数点数、多倍長浮動小数点、文字列、シンボルであり、
32 有理数や複素数や他のどんなアトムでない式でもありません。
33 @code{numericalio}関数群は、アトムでない式に直面した時、
34 何か適当なことを試みるかもしれませんが、
35 結果はここで規定されず、変更の対象となります。
37 入力ファイルと出力ファイルどちらのアトムも、
38 Maximaバッチファイルや対話コンソールでのものと同じフォーマットを持ちます。
39 特に、文字列はダブルクォートで括られ、
40 バックスラッシュ@code{\}は次の文字の任意の特殊解釈を抑制し、
41 クエスチョンマーク@code{?}は
42 (Maximaシンボルではなく、)Lispシンボルを意味するシンボルの始まりとして認識されます。
43 (分割された行をつなぎ合わせる)いかなる継続文字も認識されません。
45 @subsection Separator flag values for input
47 プレインテキスト入出力のための関数は、オプションの引数@var{separator_flag}
48 を取ります。
49 それはどの文字がデータを分離するかを示します。
51 プレインテキスト入力では、
52 @var{separator_flag}の以下の値が認識されます:
53 コンマで区切られた値のための@code{comma}、
54 垂直バー文字@code{|}で区切られた値のための@code{pipe}、
55 セミコロン@code{;}で区切られた値のための@code{semicolon}、
56 空白かタブ文字で区切られた値のための@code{space}。
57 もしファイル名が@code{.csv}で終わり、
58 @var{separator_flag}が指定されていないなら、
59 @code{comma}が仮定されます。
60 もしファイル名が@code{.csv}以外の何かで終わり、
61 @code{separator_flag}が指定されていないなら、
62 @code{space}が仮定されます。
64 プレインテキスト入力では、
65 複数続く空白とタブ文字は1つの区切り文字として数えられます.
66 しかしながら、複数のコンマ、パイプまたはセミコロンは意味を持ちます。
67 連続するコンマ、パイプ、セミコロン文字は
68 (空白やタブが間に入ろうが入るまいが)
69 区切り文字の間に@code{false}を持つと見なされます。
70 例えば、@code{1234,,Foo}は
71 @code{1234,false,Foo}と同じと扱われます。
73 @subsection Separator flag values for output
75 プレインテキスト出力では、
76 @code{comma}, @code{pipe}, @code{semicolon}, そして@code{space}はもちろん、
77 タブ文字で区切られた値のための@code{tab}も、
78 @var{separator_flag}の値として認識されます。
80 プレインテキスト出力では、
81 @code{false}アトムは以下のように書かれます:
82 リスト@code{[1234, false, Foo]}は@code{1234,false,Foo}と書かれ、
83 出力を@code{1234,,Foo}につぶすことはありません。
85 @subsection Binary floating-point input and output
87 @code{numericalio}関数群は8バイトIEEE754浮動小数点数を読み書きすることができます。
88 これらの数は、
89 @code{assume_external_byte_order}で設定されたグローバルフラグに従って、
90 最下位バイトから順でも最上位バイトから順でも記憶することができます。
92 もし指定されないなら、
93 @code{numericalio}は外部バイト順は最上位バイトからと仮定します。
95 他の種類の数は8バイト浮動小数点に強制変換されます;
96 @code{numericalio}はアトムでないバイナリデータを読み書きできません。
98 いくつかのLisp実装は
99 IEEE 754の特殊値(正負の無限大、非数値、指数表現でない数)を認識しません。
100 @code{numericalio}でそんな値を読み込むことの効果は未定義です。
102 @code{numericalio}は
103 バイトストリームを読んだり書いたりするためのストリームを開く
104 関数を含みます。
107 @node Functions and Variables for plain-text input and output, Functions and Variables for binary input and output, Introduction to numericalio, numericalio
108 @section Functions and Variables for plain-text input and output
110 @deffn {関数} read_matrix (@var{S})
111 @deffnx {関数} read_matrix (@var{S}, @var{M})
112 @deffnx {関数} read_matrix (@var{S}, @var{separator_flag})
113 @deffnx {関数} read_matrix (@var{S}, @var{M}, @var{separator_flag})
115 @code{read_matrix(@var{S})}は、
116 ソース@var{S}を読み込み、行列として内容全体を返します。
117 行列のサイズは入力データから推論されます;
118 ファイルの行それぞれは行列の1行になります。
119 もし複数の行が異なる長さを持つなら、
120 @code{read_matrix}はエラーを出力します。
122 @code{read_matrix(@var{S}, @var{M})}は、
123 @var{M}が一杯になるか、ソースが尽きるまで、
124 ソース@var{S}を行列@var{M}に読み込みます。
125 入力データは行優先順に行列に読み込まれます;
126 入力は@var{M}と同じ行数と列数を持つ必要はありません。
128 ソース@var{S}はファイル名かストリームかもしれません。
130 @var{separator_flag}の認識される値は
131 @code{comma}, @code{pipe}, @code{semicolon}, @code{space}です。
132 もし@var{separator_flag}が指定されないなら、ファイルは空白で区切られていると仮定されます。
134 @opencatbox
135 @category{Package numericalio} @category{File input}
136 @closecatbox
138 @end deffn
140 @deffn {関数} read_array (@var{S}, @var{A})
141 @deffnx {関数} read_array (@var{S}, @var{A}, @var{separator_flag})
143 @var{A}が一杯になるか、ソースが尽きるまで、
144 ソース@var{S}を配列@var{A}に読み込みます。
145 入力データは列優先順に配列に読み込まれます;
146 入力は@var{A}の次元に一致する必要はありません。
148 ソース@var{S}はファイル名かストリームかもしれません。
150 @var{separator_flag}の認識される値は
151 @code{comma}, @code{pipe}, @code{semicolon}, @code{space}です。
152 もし@var{separator_flag}が指定されないなら、ファイルは空白で区切られていると仮定されます。
154 @opencatbox
155 @category{Package numericalio} @category{File input}
156 @closecatbox
158 @end deffn
160 @deffn {関数} read_hashed_array (@var{S}, @var{A})
161 @deffnx {関数} read_hashed_array (@var{S}, @var{A}, @var{separator_flag})
163 ソース@var{S}が読み込まれ、ハッシュ配列として内容全体が返されます。
164 ソース@var{S}はファイル名かストリームかもしれません。
166 @code{read_hashed_array}は、
167 それぞれの行の最初の項目をハッシュキーとして扱い、
168 行の残りを(リストとして)キーと結合します。
169 例えば、
170 行@code{567 12 17 32 55}は
171 @code{A[567]: [12, 17, 32, 55]$}と同値です。
172 行数は要素数と同じである必要はありません。
174 @var{separator_flag}の認識される値は
175 @code{comma}, @code{pipe}, @code{semicolon}, @code{space}です。
176 もし@var{separator_flag}が指定されないなら、ファイルは空白で区切られていると仮定されます。
178 @opencatbox
179 @category{Package numericalio} @category{File input}
180 @closecatbox
182 @end deffn
184 @deffn {関数} read_nested_list (@var{S})
185 @deffnx {関数} read_nested_list (@var{S}, @var{separator_flag})
187 ソース@var{S}を読み込み、
188 入れ子のリストとして内容全体を返します。
189 ソース@var{S}はファイル名かストリームかもしれません。
191 @code{read_nested_list}は
192 入力のそれぞれの行について部分リストを持つリストを返します。
193 行数は要素数と同じである必要はありません。
194 空の行は無視され@i{ません}: 空の行は空の部分リストをもたらします。
196 @var{separator_flag}の認識される値は
197 @code{comma}, @code{pipe}, @code{semicolon}, @code{space}です。
198 もし@var{separator_flag}が指定されないなら、ファイルは空白で区切られていると仮定されます。
200 @opencatbox
201 @category{Package numericalio} @category{File input}
202 @closecatbox
204 @end deffn
206 @deffn {関数} read_list (@var{S})
207 @deffnx {関数} read_list (@var{S}, @var{L})
208 @deffnx {関数} read_list (@var{S}, @var{separator_flag})
209 @deffnx {関数} read_list (@var{S}, @var{L}, @var{separator_flag})
211 @code{read_list(@var{S})}は、
212 ソース@var{S}を読み込み、
213 フラットなリストとして内容全体を返します。
215 @code{read_list(@var{S}, @var{L})}は、
216 @var{L}が一杯になるかソースが尽きるまで、
217 ソース@var{S}を
218 リスト@var{L}に読み込みます。
220 ソース@var{S}はファイル名かストリームかもしれません。
222 @var{separator_flag}の認識される値は
223 @code{comma}, @code{pipe}, @code{semicolon}, @code{space}です。
224 もし@var{separator_flag}が指定されないなら、ファイルは空白で区切られていると仮定されます。
226 @opencatbox
227 @category{Package numericalio} @category{File input}
228 @closecatbox
230 @end deffn
232 @deffn {関数} write_data (@var{X}, @var{D})
233 @deffnx {関数} write_data (@var{X}, @var{D}, @var{separator_flag})
235 オブジェクト@var{X}をデスティネーション@var{D}に書き出します。
237 @code{write_data}は行列を
238 行につき一行で行優先順に書き出します。
240 @code{write_data}は
241 @code{array}や@code{make_array}で生成された配列を
242 行優先順でスラブ毎に改行して書き出します。
243 高次元スラブは更に改行で分割されます。
245 @code{write_data}はハッシュ配列を
246 1行に、キーそれぞれに結合したリストが続くように書き出します。
248 @code{write_data}は入れ子のリストを
249 それぞれの部分リストを1行に書き出します。
251 @code{write_data}はフラットなリストすべてを1行に書き出します。
253 デスティネーション@var{D}はファイル名かストリームかもしれません。
254 デスティネーションがファイル名の時、
255 グローバル変数@code{file_output_append}は
256 出力ファイルに追加されるか上書きされるか決定します。
257 デスティネーションがストリームの時、
258 @code{write_data}は
259 データすべてが書かれた後、特殊なアクションを取ります;
260 特にストリームは開いたままとなります。
262 @var{separator_flag}の認識される値は
263 @code{comma}, @code{pipe}, @code{semicolon}, @code{space}です。
264 もし@var{separator_flag}が指定されないなら、ファイルは空白で区切られていると仮定されます。
266 @opencatbox
267 @category{Package numericalio} @category{File output}
268 @closecatbox
270 @end deffn
272 @node Functions and Variables for binary input and output, , Functions and Variables for plain-text input and output, numericalio
273 @section Functions and Variables for binary input and output
275 @deffn {関数} assume_external_byte_order (@var{byte_order_flag})
276 @code{numericalio}に
277 バイナリデータを読み書きするためのバイトオーダーを知らせます。
278 @var{byte_order_flag}の2つの値が認識されます:
279 リトルエンディアンバイトオーダーとも呼ばれる最下位バイト優先を示す@code{lsb};
281 ビッグエンディアンバイトオーダーとも呼ばれる最上位バイト優先を示す@code{msb}。
283 もし指定されないなら、
284 @code{numericalio}は外部のバイトオーダーは最上位バイト優先を仮定します。
286 @opencatbox
287 @category{Package numericalio}
288 @closecatbox
289 @end deffn
291 @deffn {関数} openr_binary (@var{file_name})
292 @var{file_name}という名前のファイルを読むための
293 8ビット符号なしバイトの入力ストリームを返します。
295 @opencatbox
296 @category{Package numericalio} @category{File input}
297 @closecatbox
298 @end deffn
300 @deffn {関数} openw_binary (@var{file_name})
301 @var{file_name}という名前のファイルに書き込むための
302 8ビット符号なしバイトの出力ストリームを返します。
304 @opencatbox
305 @category{Package numericalio} @category{File output}
306 @closecatbox
307 @end deffn
309 @deffn {関数} opena_binary (@var{file_name})
310 @var{file_name}という名前のファイルに追加するための
311 8ビット符号なしバイトの出力ストリームを返します。
313 @opencatbox
314 @category{Package numericalio} @category{File output}
315 @closecatbox
316 @end deffn
318 @deffn {関数} read_binary_matrix (@var{S}, @var{M})
319 @var{M}が一杯になるかソースが尽きるまで、
320 ソース@var{S}から行列@var{M}にバイナリの8バイト浮動小数点数を読み込みます。
321 @var{M}の要素は行優先順で読み込まれます。
323 ソース@var{S}はファイル名かストリームかもしれません。
325 ソースの要素のバイトオーダーは
326 @code{assume_external_byte_order}で指定されます。
328 @opencatbox
329 @category{Package numericalio} @category{File input}
330 @closecatbox
331 @end deffn
333 @deffn {関数} read_binary_array (@var{S}, @var{A})
334 @var{A}が一杯になるかソースが尽きるまで、
335 ソース@var{S}から配列@var{A}にバイナリの8バイト浮動小数点数を読み込みます。
336 @var{M}の要素は行優先順で読み込まれます。
338 ソース@var{S}はファイル名かストリームかもしれません。
340 ソースの要素のバイトオーダーは
341 @code{assume_external_byte_order}で指定されます。
343 @opencatbox
344 @category{Package numericalio} @category{File input}
345 @closecatbox
346 @end deffn
348 @deffn {関数} read_binary_list (@var{S})
349 @deffnx {関数} read_binary_list (@var{S}, @var{L})
350 @code{read_binary_list(@var{S})}は
351 バイナリ8バイト浮動小数点数の数列として
352 ソース@var{S}の内容全体を読み込み、それをリストとして返します。
353 ソース@var{S}はファイル名かストリームかもしれません。
355 @code{read_binary_list(@var{S}, @var{L})}は
356 リスト@var{L}が一杯になるかソースが尽きるまで、
357 ソース@var{S}から
358 バイナリ8バイト浮動小数点数を読み込みます。
360 ソースの要素のバイトオーダーは
361 @code{assume_external_byte_order}で指定されます。
363 @opencatbox
364 @category{Package numericalio} @category{File input}
365 @closecatbox
366 @end deffn
368 @deffn {関数} write_binary_data (@var{X}, @var{D})
370 Writes the object 
371 バイナリ8バイトIEEE 754浮動小数点数で構成される
372 オブジェクト@var{X}を
373 ディスティネーション@var{D}に書き込みます。
374 他の種類の数は8バイト浮動小数点に強制変換されます。
375 @code{write_binary_data}は非数データを書くことはできません。
377 The object 
378 オブジェクト@var{X}はリストか、入れ子のリスト、行列、
379 もしくは、@code{array}か@code{make_array}で生成された配列であり得ます;
380 @var{X}は未宣言配列や他のいかなる種類のオブジェクトもありえません。
381 @code{write_binary_data}は
382 入れ子のリスト、行列、配列を行優先順に書き込みます。
384 デスティネーション@var{D}はファイル名かストリームかもしれません。
385 デスティネーションがファイル名の時、
386 グローバル変数@code{file_output_append}が
387 出力ファイルに追加されるか上書きされるか決めます。
388 デスティネーションがストリームの時、
389 データすべてが書かれた後@code{write_binary_data}は特別な動作は何もしません;
390 特に、ストリームは開かれたままです。
392 デスティネーションの要素のバイトオーダーは
393 @code{assume_external_byte_order}で指定されます。
395 @opencatbox
396 @category{Package numericalio} @category{File output}
397 @closecatbox
398 @end deffn