【发布时间】:2012-08-14 22:58:17
【问题描述】:
考虑以下代码:
-module(abc).
-export([f/1]).
f(X) when (X==0) or (1/X>2) -> X+100;
f(X) ->X.
和 abc:f(0)。得到结果 0 ,但是为什么 1/X 不抛出异常??
【问题讨论】:
-
Erlang comments 说:"建议您永远不要使用'and'和'or'运算符,并在','和'时避免使用'andalso'和'orelse'; '会做你需要的。”(但没有给出理由。)
标签: erlang