erlang的逗号和分号和句号区别

1.逗号(,)是用来分隔函数调用、数据构造器以及模式中的参数:

rpc(Pid,M,F,A) ->
	Pid ! {rpc,self(),M,F,A},
	receive
		{Pid,Response} -> 
			Response
	end.

2.句号(.)是跟一个空白符号,用于分隔完整的函数和表示达:

rpc(Pid,M,F,A) ->
	Pid ! {rpc,self(),M,F,A},
	receive
		{Pid,Response} -> 
			Response
	end.

loop() ->
	receive
		{rpc,Pid,M,F,A} -> 
			Pid ! {self(),(catch apply(M,F,A))},
			loop()
	end.

3.分号(;)是用于分隔子句,几种情况下会用到子句:分段函数的子句,case子句,if子句,try...catch子句,receive子句:

loop() ->
	receive
		{From,{rectangle,Width,Ht}} ->
			From!Width * Ht,
			loop();
		{From,{circle,R}} ->
			From!3.14159 * R * R,
			loop();
		{From,Other} ->
			From!{error,Other},
			loop()
	end.
area({rectangle,Width,Ht}) -> Width * Ht;
area({square,X}) -> X * X;
area({circle,R}) -> 3.14159 * R * R.

上面分别是receive语句的用法,和分段函数。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值