首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Erlang程序设计基础 (4)Erlang断言,case语句,if语句实例demo

2012-09-10 
Erlang程序设计基础 (四)Erlang断言,case语句,if语句实例demo一),断言:1. 将断言分开的逗号(,)表示and(与)

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

热点排行