WSPutNext (C 関数)

int WSPutNext(WSLINK link,int type)

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

詳細

  • すべてのtype の値はWSTKで始まる.
  • 次の型がよく使われる:
  • WSTKERRエラー
    WSTKINT整数
    WSTKFUNC合成関数
    WSTKREAL近似実数
    WSTKSTR文字列
    WSTKSYM記号
    WSTKOLDINT古いバージョンのWSTPライブラリからの整数
    WSTKOLDREAL古いバージョンのWSTPライブラリからの近似実数
    WSTKOLDSTR古いバージョンのWSTPライブラリからの文字列
    WSTKOLDSYM古いバージョンのWSTPライブラリからの記号
  • WSTKINTWSTKREALは,必ずしもC言語のint型とdouble型の変数で保持できる数字を意味する訳ではない.
  • WSPutNext()はエラーがあると0を返し, 関数が成功すると0以外の値を返す.
  • WSError()を使うと,WSPutNext()が不成功の場合にエラーコードを引き出すことができる.
  • WSPutNext()は,WSTPヘッダファイルwstp.hの中で宣言される.

例題

  (1)

#include "wstp.h"

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

void f(WSLINK lp)
{
    if(! WSPutNext(lp, WSTKFUNC))
        { /* unable to put the function type to lp */ }

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

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

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

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

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