Mathematica:如何检查是否没有为函数提供参数?

时间:2011-07-02 19:05:44

标签: wolfram-mathematica

如何检查是否没有为函数提供参数?

例如,如果我有:

  f[x_Integer]:=1
  f[x_]:=Message[errm::err, x]

我在没有争论的情况下调用f:

   f[]

'没有任何反应',我想强迫一个特定的(错误)条件。

(背景:我正在为包和OO-System类进行MUnit测试。)

2 个答案:

答案 0 :(得分:10)

此?

f[x_Integer] := 1
f[x_] := Message[errm::err, x]
f[] := Message[errm::err]

答案 1 :(得分:10)

作为明确列出零参数可能性的替代方法,您可以执行

f[x_Integer] := 1
f[args___] := (Message[errm::err, {args}];$Failed);

还会捕获几个传递参数的错误情况(假设它是一个错误)。