補助的な Mathematica プロセスを呼び出す
MathLink を使って補助的プログラムと接続する
利用中のコンピュータで補助的
Mathematica プロセスを開始させる.
| Out[1]= |  |
補助的
Mathematica プロセスからの最初の入力プロンプトを表すパケット.
| Out[2]= |  |
補助的
Mathematica プロセスの入力となるテキストを表すパケットを書き込む.
補助的
Mathematica プロセスからの出力プロンプトを表すパケット.
| Out[4]= |  |
| Out[5]= |  |
MathLink パケットは,Mathematica セッションにかかわるさまざまなオブジェクトを系統立てて管理するために使用されている.MathLink パケットは簡単に言えばパケットの役目や意味を示す一定の頭部を持った式である.
Mathematica セッションの基本パケット
| Out[6]= |  |
| Out[8]= |  |
| Out[9]= |  |
| Out[10]= |  |
Mathematica セッション中に使用されるパケットの一部
EnterTextPacket["input"]で Mathematica へ入力するとき,Mathematica はその出力を自動的に文字列に変換し,ReturnTextPacket["output"]で応える.それとは別に,EnterExpressionPacket[expr]で入力を与えると,Mathematica はReturnExpressionPacket[expr]で応え,出力を文字列に変換することはしない.
式を使って入出力するためのパケット
補助的
Mathematica セッションに式を評価することなく入力する.
補助的
Mathematica セッションからは3つのパケットが返ってくる.
| Out[12]= |  |
InputNamePacketとOutputNamePacketは補助的 Mathematica セッションの現在の状態を知りたいときに利用することができる.補助的 Mathematica セッションを
で起動すれば,それらのパケットの生成を抑制することができる.
InputNamePacketパケットとOutputNamePacketパケットの明示的な生成を抑制していても,Mathematica は,EnterTextPacketあるいはEnterExpressionPacketの入力を,あたかも入力行があるかのように処理する.つまり,Mathematica は$Preと$Postを呼んでIn[$Line]とOut[$Line]の値を代入する.
明示的な入力行・出力行なしで評価を実行する
| Out[14]= |  |
| Out[16]= |  |
| Out[17]= |  |
ほとんどの場合,EvaluatePacketを送信することによって,Mathematica は計算を実行し,ReturnPacketで終るさまざまなパケットを返してくると思っていいだろう.しかし,実行すべき計算がInputのような関数を含んでいる場合,Mathematica は計算を続ける前にさらに入力を要求してくる.
| Out[19]= |  |
| Out[20]= |  |
| Out[22]= |  |
MathLink 適合プログラムへの割込み
| Out[24]= |  |
補助的なプロセスは中断し,割込みメニューを返してくる.
| Out[26]= |  |