读书人

Erlang程序设计基础 (4)Erlang断言,

发布时间: 2012-09-10 11:02:32 作者: rapoo

Erlang程序设计基础 (四)Erlang断言,case语句,if语句实例demo
一),断言:
1. 将断言分开的逗号(,)表示and(与)操作;
将断言分开的分号(;)表示or(或)操作。
2. 断言表达式合法的语法形式:
1)原子true
2)其他常量,这些在断言表达式中都会被求值为false
3)断言谓词或者断言BIF
4)比较表达式
5)算数表达式
6)布尔表达式
7)短路布尔表达式
3. 例子:
-module(case_if).
-export([test_guard/1]).

test_guard({name,Name,gender,Gender, age, Age}) when Gender =:= y,Age > 10 ->
io:format("~p student is y and age > 10 ~n", [Name]);
test_guard({name,Name,gender,Gender, age, Age}) when Gender =:= y;Age > 10 ->
io:format("~p student is y or age > 10 ~n", [Name]).

二),case语句的格式如下:
case conditional-expression of
Pattern1 -> expression1, expression2, .. ;,
Pattern2 -> expression1, expression2, .. ;
... ;
Patternn -> expression1, expression2, ..
end
执行的过程是,将conditional-expression挨个和Pattern-n去做match,如果match上了,
就执行相应的代码段,如果没有match,就尝试下一个Pattern,直到最后。

case语句实例如下:
area(Shape) ->
case Shape of
{circle, R} -> 3.14*R*R;
{square, Side} -> Side * Side
end.

三),if语句
1. if语句实例
area_if(Shape) ->
{Type, R} = Shape,
if Type == circle -> 3.14*R*R;
Type == square -> R*R
end.

if语句没有case语句灵活,if语句使用断言判断,case语句使用模式匹配来选择子句。
本博客由长沙办公家具公司赞助:http://www.cs163.net
长沙办公家具公司赞助程序设计技术博客地址:http://www.cs163.net/wordpress

读书人网 >编程

热点推荐