-module(spawn_example).
-export([start/0, add_one/1]).
start() ->
spawn(spawn_example, add_one, []).
add_one(X) ->
case is_integer(X) of
true ->
X + 1;
false ->
exit(not_integer)
end.
在Erlang中,可以使用 spawn
函数来生成一个新进程。在本例中,我们将新进程链接到 add_one
函数。在 add_one
中,我们使用 is_integer
函数来检查参数是否为整数,并返回 X + 1
或 not_integer
错误。使用 exit
函数可以退出进程,并在退出时返回指定的原因。在调用时,使用 start
函数来生成一个新进程。
可以使用以下代码测试该示例:
spawn_example:start().
spawn_example:add_one(1).
spawn_example:add_one("hello").
第一行将生成一个新进程。第二行将返回 2
。第三行将返回一个错误 {'EXIT', <0.77.0>, not_integer}
。