MLNextPacket (C 函数)
MLNextPacket 已经被 WSNextPacket 所取代.
int MLNextPacket(MLINK link)
进入 link 中下一个包并返回一个常量表明它的标头.
更多信息
- 可以返回下一个包:
-
BEGINDLGPKT BeginDialogPacket[integer] 开始由 integer 引用的对话子会话 CALLPKT CallPacket[integer,list] 要求调用标号为 integer 且具有自变量 list 的外部函数 DISPLAYENDPKT DisplayEndPacket[] 过时的 PostScript 图形相关的包 DISPLAYPKT DisplayPacket[] 过时的 PostScript 图形相关的包 ENDDLGPKT EndDialogPacket[integer] 结束由 integer 引用的对话子会话 ENTEREXPRPKT EnterExpressionPacket[expr] 计算 expr ENTERTEXTPKT EnterTextPacket[string] 解析 string 并按一个表达式进行计算 EVALUATEPKT EvaluatePacket[expr] 计算 expr 同时避免内核的主循环 INPUTNAMEPKT InputNamePacket[string] 分给下一个输入的名称(通常为 In[n]:=) INPUTPKT InputPacket[] 提示输入,像由 Mathematica's Input[] 函数产生的一样 INPUTSTRPKT InputStringPacket[] 要求输入为一个字符串 MENUPKT MenuPacket[integer,string] 具有标题 string 的菜单要求 MESSAGEPKT MessagePacket[symbol,string] Mathematica 消息标识符 (symbol::string) OUTPUTNAMEPKT OutputNamePacket[string] 分给下一个输出的名称(通常为 Out[n]=) RESUMEPKT ResumePacket[] 废弃的包 RETURNEXPRPKT ReturnExpressionPacket[expr] EnterExpressionPacket[] 的计算结果 RETURNPKT ReturnPacket[expr] 计算结果 RETURNTEXTPKT ReturnTextPacket[string] 一个结果的格式化文本表示 SUSPENDPKT SuspendPacket[] 废弃的包 SYNTAXPKT SyntaxPacket[integer] 在输入行中检测到的语法错误的位置 TEXTPKT TextPacket[string] Mathematica 的文本输出,像由 Print[] 产生的一样 - MLNextPacket() 在错误事件中返回 ILLEGALPKT. mathlink.h 定义 ILLEGALPKT 为 0.
- MLNextPacket() 在 MathLink 标头文件 mathlink.h 中被声明.
范例
基本范例 (1)
#include "mathlink.h"
/* read the type of the incoming packet on a link */
void f(MLINK lp)
{
switch(MLNextPacket(lp))
{
case CALLPKT:
/* read the CallPacket[] */
break;
case EVALUATEPKT:
/* read the EvaluatePacket[] */
break;
case RETURNPKT:
/* read the EvaluatePacket[] */
/* ... */
case ILLEGALPKT:
/* unable to read the next packet from lp */
}
}