nil*_*ock 8 wolfram-mathematica
如何检查是否没有为函数提供参数?
例如,如果我有:
f[x_Integer]:=1
f[x_]:=Message[errm::err, x]
Run Code Online (Sandbox Code Playgroud)
我没有争吵地打电话给f:
f[]
Run Code Online (Sandbox Code Playgroud)
"没有任何反应",我想强迫一个特定的(错误)条件.
(背景:我正在为包和OO-System类进行MUnit测试.)
acl*_*acl 10
这个?
f[x_Integer] := 1
f[x_] := Message[errm::err, x]
f[] := Message[errm::err]
Run Code Online (Sandbox Code Playgroud)
Leo*_*rin 10
作为明确列出零args可能性的替代方法,您可以这样做
f[x_Integer] := 1
f[args___] := (Message[errm::err, {args}];$Failed);
Run Code Online (Sandbox Code Playgroud)
这也会捕获几个传递参数的错误情况(假设它是一个错误).
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |