WSEvaluate (C 関数)
int WSEvaluate(WSLINK link,char*string)
ToExpression[]との使用に適した入力の文字列をWolfram言語に送信し,評価させる.
詳細
- WSEvaluateString()と違ってWSEvaluate()は,応答として送られたパケットを放棄しない.
- WSEvaluate()は,mprepのWSTPのテンプレートプログラム内に限って使用可能である.
- WSEvaluate()は不成功の場合に0を返し,成功の場合には0以外の値を返す.
- WSEvaluate()は,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (1)
:Begin:
:Function: f
:Pattern: KernelTime[]
:Arguments: {}
:ArgumentTypes: Manual
:ReturnType: Manual
:End:
#include "wstp.h"
/* read the Kernel's response to its evaluation of
{Date[], $TimeZone} */
void f(void)
{
if(! WSEvaluate(stdlink, "{Date[],$TimeZone}"))
{ /* unable to send the expression to stdlink */ }
/* now read the Kernel's response */
switch(WSGetType(stdlink))
{
/* ... */
}
/* ... */
}