erlang是否在python或';'中有'pass'之类的空语句在C?
有时我想测试代码而不用杀死所有进程,清理ets表并从头开始。
try
ets:new(TableName,[options])
catch
% if the ets table has been initialized in the earlier test.
error:badarg->
% I want an empty statement instead of an ugly io:format
io:format("")
答案 0 :(得分:10)
原子ok
通常用于:
try
ets:new(TableName,[options])
catch
% if the ets table has been initialized in the earlier test.
error:badarg->
ok
end.
严格来说,它不是“空语句”,因为它确实有效:它成为表达式的返回值。例如,如果表创建成功,上面的try
表达式将返回ETS表id,如果失败则返回原子ok
。当然,只要你忽略了返回值,那就无所谓了。
编辑:你需要这样做,因为Erlang中没有语句,一切都是表达式并返回一个值。