MLReady (C 関数)

MLReadyWSReadyに置き換えられた.

int MLReady(MLINK link)

link から読取りが可能なデータがあるかどうかをテストする.

詳細

  • Mathematica関数LinkReadyQに似ている
  • MLReady()は,MathLink接続をポーリングする手段として,ループ中でよく呼び出される.
  • MLReady()は常に即座に返し,ブロックしないようになっている.
  • MLReady()を呼び出す前に,MLFlush()を呼び出さなければならない.
  • MLReady()はリンクに読み取るデータがない場合には0を返し,リンクにデータがある場合にはゼロ以外の値を返す.
  • MLReady()は,MathLinkヘッダファイルmathlink.hの中で宣言される.

例題

  (1)

#include "mathlink.h"

/* check a link for readable data */

void f(MLINK lp);
{
    if(! MLFlush(lp))
        { /* unable to flush any outgoing data buffered in lp */ }

    if(MLReady(lp))
        { /* read the data from the link */ }
    else
        { /* data not ready to read */ }
}