MLPutNext (C 関数)

MLPutNextWSPutNextに置き換えられた.

int MLPutNext(MLINK link,int type)

link 上に指定された型のオブジェクトを置く準備をする.

詳細

  • すべてのtype の値はMLTKで始まる.
  • 次の型がよく使われる:
  • MLTKERRエラー
    MLTKINT整数
    MLTKFUNC合成関数
    MLTKREAL近似実数
    MLTKSTR文字列
    MLTKSYM記号
    MLTKOLDINT古いバージョンのMathLinkライブラリからの整数
    MLTKOLDREAL古いバージョンのMathLinkライブラリからの近似実数
    MLTKOLDSTR古いバージョンのMathLinkライブラリからの文字列
    MLTKOLDSYM古いバージョンのMathLinkライブラリからの記号
  • MLTKINTMLTKREALは,必ずしもC言語のint型とdouble型の変数で保持できる数字を意味する訳ではない.
  • MLPutNext()はエラーがあると0を返し, 関数が成功すると0以外の値を返す.
  • MLError()を使うと,MLPutNext()が不成功の場合にエラーコードを引き出すことができる.
  • MLPutNext()は,MathLinkヘッダファイルmathlink.hの中で宣言される.

例題

  (1)

#include "mathlink.h"

/* send a function using tokens and argument counts to a link */

void f(MLINK lp)
{
    if(! MLPutNext(lp, MLTKFUNC))
        { /* unable to put the function type to lp */ }

    if(! MLPutArgCount(lp, 2))
        { /* unable to put the number of arguments to lp */ }

    if(! MLPutSymbol(lp, "Plus"))
        { /* unable to put the symbol to lp */ }

    if(! MLPutInteger32(lp, 2))
        { /* unable to put the integer to lp */ }

    if(! MLPutInteger32(lp, 3))
        { /* unable to put the integer to lp */ }

    if(! MLFlush(lp))
        { /* unable to flush any buffered outgoing data to lp */ }
}