テキスト型インターフェースを使った入出力
「ノートブック型インターフェース」で説明したように,標準的なフロントエンドインターフェースはほとんどの用途に適している.しかし場合によってはノートブックフロントエンドを使う必要がなく,Wolfram言語カーネルとより直接的にインタラクトしたいこともあろう.そのような場合はテキスト型インターフェースを使うことができる.テキスト型インターフェースでは,キーボードでタイプしたテキストが直接カーネルに届く.
テキスト型インターフェースではWolfram言語カーネルのほとんどの機能にアクセスできるが,Wolframシステムフロントエンドのグラフィックス機能および動的インタラクティブ機能は利用できないので注意が必要である.
Wolfram言語カーネルの開始
テキスト型インターフェースでWolframシステムを開始するためには,通常オペレーティングシステムのプロンプトでコマンドwolframをタイプする.
$ wolfram
Mathematica 14.1 for Linux x86 (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
C:\Program Files\Wolfram Research\Mathematica\14.1>wolfram
Mathematica 14.1 for Linux x86 (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
wolfram実行ファイルへの完全パスを入力しなければならない場合もある.
$ /Applications/Mathematica.app/Contents/MacOS/wolfram
Mathematica 14.1 for Mac OS X x86 (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
システムによっては,WolframシステムカーネルアイコンをダブルクリックすることでWolframシステムを起動することができる場合もある.
Wolframシステムセッション
In[n]:=プロンプトは自分でタイプするものではなく,このプロンプトに続くテキストだけをタイプするという点に注意する.
入力をタイプし終えたら,Wolframシステムはそれを処理し結果を生成する.結果が表示されるときOut[n]=というラベルが付く.
In[1]:= 2^100
Out[1]= 1267650600228229401496703205376
In[2]:= Integrate[1/(x^3 - 1), x]
1 + 2 x
ArcTan[-------] 2
Sqrt[3] Log[-1 + x] Log[1 + x + x ]
Out[2]= -(---------------) + ----------- - ---------------
Sqrt[3] 3 6
チュートリアルに含まれている実際の対話のほとんどは,Wolframシステムのノートブックインターフェースで得られる形式の出力を示している.テキスト型インターフェースでの出力も同様であるが,特殊文字やフォントサイズの変更等の機能はない.
入力の編集
Ctrl+A,Home | カーソルを入力の最初に移動させる |
Ctrl+E,End | カーソルと入力の最後に移動させる |
Ctrl+H,Backspace | カーソルの前の文字を削除する |
Ctrl+D,Delete | カーソルの後ろの文字を削除する |
Ctrl+G,Ctrl+C,Esc | 入力をキャンセルあるいは放棄する |
Ctrl+K | カーソルから入力の最後までを削除する |
Ctrl+D,Ctrl+Z | カーネルを終了する |
Left,Right | カーソルを移動させる |
Up,Down | 直前の入力を見る |
Enter | 入力を評価するかもう1行足すかする |
PageUp,PageDown | 入力履歴の最初あるいは最後の項目にジャンプする |
短い入力は1行で行うことができる.入力が内外場合はスクリーンの幅で自動的に改行され複数行になる.カーソルはいつでも戻して文字を挿入したり削除したりすることができる.改行された行は,編集に従って更新される.
入力行でカーソルを移動させるためには,キーボードの左矢印と右矢印キーを使う.Ctrl+Aキーを使うと,入力の先頭にジャンプし,Ctrl+Eキーを使うと入力の最後にジャンプする.カーするの前と後の文字を削除するためには,それぞれCtrl+HとCtrl+DかBackspaceとDeleteを使う.
入力が長い場合,数行にすることもできる.Wolframシステムは入力が完全な式になるまで,連続した行を自動的に読み続ける.例えば,1行に開く丸カッコや二重引用符をタイプしたとすると,Wolframシステムは閉じる丸カッコやもう一つの二重引用符を見るまで連続した入力行を読み続ける.
In[1]:= 1+
2 f[
x]
Out[1]= 1 + 2 f[x]
改行で分けられたいくつかの完全なWolfram言語式から成る入力テキストをペーストすると,これらの式は別の入力として解釈され,いくつかのOut[n]プロンプトが表示される.
既に入力されたものを評価するのではなく,入力を消してもう一度入力し直したいこともあるだろう.既にタイプされた入力をキャンセルまたは放棄するためには,trl+Gを使う.カーソル位置以降の入力を削除したい場合はCtrl+Kを使う.
入力履歴
テキスト型インターフェースではWolfram言語の入出力行は上から下に向かい連続して進行する.また,1から順に連続した番号も付き,In[n]およびOut[n]のプロンプトとして表示される.これらの番号により,前の入出力を引用したり再評価したりすることができる.ただし,式を再評価すると最初と違った結果が得られる場合があるので注意が必要である.この理由は,前の計算から最新の計算までの間に入出力の式で参照している変数の値が変更される,というようなことが起るためである.Out[n]の要求があると,Wolframシステムは n 番目の出力を最終の形のまま返してくる.また,In[n]の要求があれば,Wolframシステムは n 番目の入力がユーザにより与えられたままの形で取り込み,変数の取る現在の値に従って再評価を行う.
コンピュータステムによっては,前の行にスクロール移動し前に行った計算を参照したり,入力行をカットアンドペーストしたりすることができることがある.あるいは矢印のUpまたはDownを使って前に入力した入力を見ることもできる.
Rawモードのテキストベースインターフェースの開始
通常,Wolfram言語カーネルがテキストベースインターフェースで実行している場合,前セクションで説明したようにコマンドラインエディタやコマンド履歴等の追加のツールを提供する.このようなツールが動作するようにするために,カーネルは使用されている文字ターミナルまたはターミナルエミュレータを制御する特殊な低レベルの命令を使う.ターミナルがコマンドラインエディタで必要とされる低レベルの命令をすべてはサポートしていない場合や,コマンドの一部としてカーネルを非対話的に実行する必要がある場合等,このカーネルの機能を使いたくない場合もあるだろう.
Wolfram言語のカーネルをrawモードで実行するためには,コマンドラインスイッチの-rawtermを使う.rawモードのとき,カーネルはキーボードから受け取ったバイトすべてを直接入力バッファに累積し,後でパースや解釈に使えるようにする.
$ wolfram -rawterm
Mathematica 14.1 for Linux x86 (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
C:\Program Files\Wolfram Research\Mathematica\14.1>wolfram -rawterm
Mathematica 14.1 for Microsoft Windows (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
$ /Applications/Mathematica.app/Contents/MacOS/wolfram -rawterm
Mathematica 14.1 for Mac OS X x86 (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
カーネルの終了
Wolframシステムを終了するためには,入力プロンプトにQuit[]とタイプする.コンピュータシステムによっては,Ctrl+DかCtrl+Zを押すことでもWolframシステムを終了することができる.Ctrl+Dは入力行が空のときにWolframシステムを終了する.