是否有erlang null语句

时间:2014-05-08 11:40:50

标签: null erlang

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("")

1 个答案:

答案 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中没有语句,一切都是表达式并返回一个值。