MLEvaluateString (C 関数)
MLEvaluateStringはWSEvaluateStringに置き換えられた.
int MLEvaluateString(MLINK link,char *string)
Wolframシステムに文字列を送信し評価させる.評価の結果として返されるパケットはすべて放棄される.
詳細
![](Files/MLEvaluateString.ja/details_1.png)
- MLEvaluateString()のコードはMathLink ライブラリに含まれていないが,MathLinkテンプレートファイルを処理する際にmccあるいはmprepで自動的に生成される.
は,リンクの向こう側にあるWolframシステムセッションの中で
を出力させる.
- MLEvaluateString()は,mprep MathLink templateプログラム内に限って使用可能である.
- MLEvaluateString()は不成功の場合に0を返し,成功の場合には0以外の値を返す.
- MLEvaluateString()は,MathLinkヘッダファイルmathlink.hの中で宣言される.
例題
例 (1)
:Begin:
:Function: f
:Pattern: KernelTime[]
:Arguments: {}
:ArgumentTypes: Manual
:ReturnType: Manual
:End:
#include "mathlink.h"
/* read the Kernel's response from evaluating the expression
{Date[],$TimeZone} */
void f(void)
{
/* Pretend we are not in our local timezone. */
if(! MLEvaluateString(stdlink, "$TimeZone = 9;"))
{ /* unable to send $TimeZone = 9; to stdlink */ }
if(! MLEvaluate(stdlink, "{Date[],$TimeZone}"))
{ /* unable to send the expression to stdlink */ }
/* get the Kernel's response */
switch(MLGetType(stdlink))
{
/* ... */
}
/* ... */
}