2 * Introduction for Runtime Environment::
4 * Functions and Variables for Runtime Environment::
7 @c -----------------------------------------------------------------------------
8 @node Introduction for Runtime Environment, Interrupts, Runtime Environment, Runtime Environment
9 @section Introduction for Runtime Environment
10 @c -----------------------------------------------------------------------------
12 @c THIS DISCUSSION OF maxima-init.mac REPLACES AN EARLIER WRITE-UP. !!!
13 @c HOWEVER IT SEEMS THAT THIS TEXT REALLY WANTS TO BE UNDER A DIFFERENT HEADING. !!!
14 @code{maxima-init.mac}は、Maximaがスタートする時自動的にロードされるファイルです。
15 自分のMaxima環境をカスタマイズするために
16 @code{maxima-init.mac}を使うことができます。
17 @code{maxima-init.mac}は、もし存在するなら、
18 関数@code{file_search}が検索する任意のディレクトリで大丈夫ですが、
20 @code{maxima_userdir}で名付けらたディレクトリの中に置かれます。
22 これは、@code{maxima-init.mac}ファイルの例です:
25 setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p);
29 この例では、@code{setup_autoload}は、Maximaに
30 もし関数(@code{ultraspherical},
31 @code{assoc_legendre_p})のいずれかがコールされて、まだ定義されていなかったら、
32 指定されたファイル(@code{specfun.mac})をロードするように命じます。
33 このように、関数をコールする前にファイルをロードすることを覚えておく必要はありません。
35 文@code{showtime: all}は、Maximaに@code{showtime}変数を設定することを命じます。
36 @code{maxima-init.mac}ファイルは、
37 他の任意の割り当てやMaxima文を含むことができます。
40 @category{Session management}
43 @c -----------------------------------------------------------------------------
44 @node Interrupts, Functions and Variables for Runtime Environment, Introduction for Runtime Environment, Runtime Environment
46 @c -----------------------------------------------------------------------------
48 ユーザーは、時間のかかる計算を^C (control-C)文字で止めることができます。
49 デフォルトの動作は、計算を止めて、別のユーザープロンプトを印字することでです。
50 この場合、止められた計算の再開することはできません。
55 :lisp (setq *debugger-hook* nil)
60 Lisp変数@code{*debugger-hook*}が@code{nil}に設定されているなら、
61 ^Cを受け取ると、Maximaは、Lispデバッガに入り、
62 ユーザーは、Lisp環境を検査するためにデバッガを使うことができます。
64 @code{continue}を入力することで、再開することができます。
66 LispデバッガからMaximaに戻る方法は、
69 Unixシステム上では、文字^Z (control-Z)は、
72 @code{fg}コマンドは、Maximaが
76 @category{Console interaction}
79 @c end concepts Runtime Environment
81 @c -----------------------------------------------------------------------------
82 @node Functions and Variables for Runtime Environment, , Interrupts, Runtime Environment
83 @section Functions and Variables for Runtime Environment
84 @c -----------------------------------------------------------------------------
86 @c NEEDS EXPANSION AND CLARIFICATION
88 @c -----------------------------------------------------------------------------
92 Maximaは、システムフィーチャと数学式に適用されるフィーチャの、
93 2つの異なるタイプのフィーチャを理解します。
95 システムフィーチャについての情報に関しては、@code{status}も参照してください。
97 @code{features}と@code{featurep}も参照してください。
98 @c PROPERTIES, DECLARATIONS FALL UNDER THIS HEADING AS WELL
101 @code{feature}それ自身は、関数名でも変数名でもありません。
104 @c NEEDS CLARIFICATION, ESPECIALLY WRT THE EXTENT OF THE FEATURE SYSTEM
105 @c (I.E. WHAT KINDS OF THINGS ARE FEATURES ACCORDING TO featurep)
107 @c -----------------------------------------------------------------------------
109 @deffn {関数} featurep (@var{a}, @var{f})
115 もしそうなら、@code{true}を返し、そうでなければ@code{false}を返します。
118 @var{f}も@var{f}の否定も確立できない時は、
119 @code{false}を返すことに注意してください。
121 @code{featurep}は、引数を評価します。
123 @code{declare}と@code{features}も参照してください。
126 (%i1) declare (j, even)$
127 (%i2) featurep (j, integer);
132 @category{Predicate functions}
133 @category{Declarations and inferences}
137 @c -----------------------------------------------------------------------------
138 @anchor{maxima_tempdir}
139 @defvr {システム変数} maxima_tempdir
141 @code{maxima_tempdir}は、Maximaが一時的なファイルを生成するディレクトリを
144 @code{maxima_tempdir}に生成されます。
146 @code{maxima_tempdir}の初期値は、
147 もしMaximaが置くことができるなら、ユーザーのホームディレクトリです;
148 そうでなければ、Maximaは適切なディレクトリについて推量します。
150 @code{maxima_tempdir}は、ディレクトリを指名する文字列に割り当てられます。
153 @category{Global variables}
157 @c -----------------------------------------------------------------------------
158 @anchor{maxima_userdir}
159 @defvr {システム変数} maxima_userdir
161 @code{maxima_userdir}は、
162 Maximaが、MaximaやLispファイルを見つけるために検索するディレクトリを指名します。
163 (Maximaは、他のディレクトリも検索します;
164 @code{file_search_maxima}と@code{file_search_lisp}は、完全なリストです。)
166 @code{maxima_userdir}の初期値は、
168 ユーザーのホームディレクトリのサブディレクトリです;
169 そうでなければ、Maximaは適切なディレクトリについて推量します。
171 @code{maxima_userdir}は、ディレクトリを指名する文字列に割り当てられます。
173 @code{maxima_userdir}への割り当ては、自動的には
174 @code{file_search_maxima}と@code{file_search_lisp}を変えません;
175 それらの変数は、別々に変更しなければいけません。
178 @category{Global variables}
182 @c -----------------------------------------------------------------------------
185 @deffnx {関数} room (true)
186 @deffnx {関数} room (false)
188 Maximaの記憶装置とスタックマネージメントの状態の描写を印字します。
189 @code{room}は、同じ名前のLisp関数をコールします。
193 @code{room ()}は、適度の描写を印字します。
195 @code{room (true)}は、言葉数の多い描写を印字します。
197 @code{room (false)}は、簡潔な描写を印字します。
205 @c -----------------------------------------------------------------------------
207 @deffn {関数} sstatus (@var{keyword}, @var{item})
209 @var{keyword}がシンボル@code{feature}の時、@var{item}がシステムフィーチャのリスト上に追加されます。
210 @code{sstatus (keyword, item)}が実行された後、
211 @code{status (feature, item)}は@code{true}を返します。
212 もし@var{keyword}がシンボル@code{nofeature}なら、
213 @var{item}はシステムフィーチャのリストから削除されます。
214 これはパッケージ作者が、搭載したフィーチャの追跡をするのに役に立つかもしれません。
216 @code{status}も参照してください。
219 @category{Programming}
223 @c -----------------------------------------------------------------------------
225 @deffn {関数} status (@code{feature})
226 @deffnx {関数} status (@code{feature}, @var{item})
227 いくつかのシステム依存のフィーチャの存在と不在についての情報を返す。
231 @code{status (feature)}は、システムフィーチャのリストを返します。
232 これらは、Lispのバージョン、オペレーティングシステムのタイプなどを含みます。
233 リストは、1つのLispタイプからもう1つに変わるかもしれません。
236 @code{status (feature, item)}は、
237 もし@var{item}が@code{status (feature)}が返す項目のリスト上にあるなら、
238 @code{true}を返し、そうでなければ、@code{false}を返します。
239 @code{status}は、引数@var{item}をクォートします。
240 クォート-クォート演算子@code{'@w{}'}は、クォーテーションに優先されます。
241 名前が、ハイフンのように特殊文字を含むフィーチャは、
242 文字列引数として与えられなければいけません。例えば、
243 @code{status (feature, "ansi-cl")}。
246 @code{sstatus}も参照してください。
251 もっと情報を知るには、@code{features}と@code{featurep}を参照してください。
254 @category{Programming}
258 @c NEEDS CLARIFICATION
260 @c -----------------------------------------------------------------------------
262 @deffn {関数} system (@var{command})
264 別のプロセスとして@var{command}を実行します。
265 コマンドは実行のためデフォルトのシェルに渡されます。
266 @code{system}は、オペレーティングシステムすべてではサポートされませんが、
267 一般にUnixとUnixライクな環境では存在します。
270 @code{xgraph}を使ってバーグラフとしてプロットしたい頻度のリストだと仮定します。
273 (%i1) (with_stdout("_hist.out",
274 for i:1 thru length(hist) do (
276 system("xgraph -bar -brw .7 -nl < _hist.out"));
279 プロットをバックグラウンドで(Maximaに制御を戻すように)させるようにし、終了した後、一次ファルを削除するようにするためには、以下のようにします:
282 system("(xgraph -bar -brw .7 -nl < _hist.out; rm -f _hist.out)&")
287 @c -----------------------------------------------------------------------------
289 @deffn {関数} time (%o1, %o2, %o3, @dots{})
291 出力行@code{%o1}, @code{%o2}, @code{%o3}, @dots{}を計算するために使った
293 返された時間は、内部計算時間のMaximaの概算であって、経過時間ではありません。
294 @code{time}は、出力行変数にだけ適用されます;
295 他の変数に関して、@code{time}は@code{unknown}を返します。
297 Maximaに出力行それぞれに計算時間と経過時間を印字させるには、
298 @code{showtime: true}を設定してください。
305 @c -----------------------------------------------------------------------------
307 @deffn {関数} timedate ()
308 @deffnx {関数} timedate (@var{T})
310 引数なしの@code{timedate()}は現在時刻と日付を表す文字列を返します。
311 文字列は、フォーマット@code{YYYY-MM-DD HH:MM:SS[+|-]ZZ:ZZ}を持ちます。
312 ここで、欄は、年、月、日、時、分、秒、時間と分のタイムゾーンオフセットです。
314 @code{timedate(@var{T})}は
315 フォーマット@code{YYYY-MM-DD HH:MM:SS[+|-]ZZ:ZZ}の文字列として
318 @code{absolute_real_time}が返すような
319 1990年1月1日の真夜中以来の秒数として解釈されます。
323 引数なしの@code{timedate()}は現在時刻と日付を表す文字列を返します。
327 @c print ("timedate reports current time", d)$
330 (%i1) d : timedate ();
331 (%o1) 2010-06-08 04:08:09+01:00
332 (%i2) print ("timedate reports current time", d) $
333 timedate reports current time 2010-06-08 04:08:09+01:00
336 引数ありの@code{timedate}は引数を表す文字列を返します。
340 @c timedate (absolute_real_time () - 7*24*3600);
344 (%o1) 1900-01-01 01:00:00+01:00
345 (%i2) timedate (absolute_real_time () - 7*24*3600);
346 (%o2) 2010-06-01 04:19:51+01:00
350 @category{Time and date functions}
354 @c -----------------------------------------------------------------------------
355 @anchor{absolute_real_time}
356 @deffn {関数} absolute_real_time ()
358 協定世界時で1900年1月1日の深夜以来の
362 @code{elapsed_real_time}と@code{elapsed_run_time}も参照してください。
367 @c absolute_real_time ();
368 @c 1900 + absolute_real_time () / (365.25 * 24 * 3600);
371 (%i1) absolute_real_time ();
373 (%i2) 1900 + absolute_real_time () / (365.25 * 24 * 3600);
374 (%o2) 2007.265612087104
378 @category{Time and date functions}
382 @c -----------------------------------------------------------------------------
383 @anchor{elapsed_real_time}
384 @deffn {関数} elapsed_real_time ()
386 Maximaがもっとも最近スタートしたか再スタートして以来の
390 @code{absolute_real_time}と@code{elapsed_run_time}も参照してください。
395 @c elapsed_real_time ();
396 @c expand ((a + b)^500)$
397 @c elapsed_real_time ();
400 (%i1) elapsed_real_time ();
402 (%i2) expand ((a + b)^500)$
403 (%i3) elapsed_real_time ();
408 @category{Time and date functions}
412 @c -----------------------------------------------------------------------------
413 @anchor{elapsed_run_time}
414 @deffn {関数} elapsed_run_time ()
416 Maximaがもっとも最近スタートしたか再スタートして以来
418 (1秒の小数を含む)秒数の概算を返します。
421 @code{absolute_real_time}と@code{elapsed_real_time}も参照してください。
426 @c elapsed_run_time ();
427 @c expand ((a + b)^500)$
428 @c elapsed_run_time ();
431 (%i1) elapsed_run_time ();
433 (%i2) expand ((a + b)^500)$
434 (%i3) elapsed_run_time ();
439 @category{Time and date functions}