File: patterns.html

package info (click to toggle)
erlang-doc-html 1%3A11.b.2-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 23,284 kB
  • ctags: 10,724
  • sloc: erlang: 505; ansic: 323; makefile: 62; perl: 61; sh: 45
file content (53 lines) | stat: -rw-r--r-- 1,583 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- This document was generated using DocBuilder 3.3.3 -->
<HTML>
<HEAD>
  <TITLE>Pattern Matching</TITLE>
  <SCRIPT type="text/javascript" src="../../doc/erlresolvelinks.js">
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#FF00FF"
      ALINK="#FF0000">
<CENTER>
<A HREF="http://www.erlang.se"><IMG BORDER=0 ALT="[Ericsson AB]" SRC="min_head.gif"></A>
</CENTER>
<A NAME="3"><!-- Empty --></A>
<H2>3 Pattern Matching</H2>
<A NAME="3.1"><!-- Empty --></A>
<H3>3.1 Pattern Matching</H3>

<P>Variables are bound to values through the <STRONG>pattern
        matching</STRONG> mechanism. Pattern matching occurs when
evaluating a function call, <CODE>case</CODE>- <CODE>receive</CODE>-
<CODE>try</CODE>- expressions and match operator (=) expressions.
<P>In a pattern matching, a lefthand side
<A HREF="expressions.html#pattern">pattern</A> is matched
against a righthand side
<A HREF="expressions.html#term">term</A>. If
the matching succeeds, any unbound variables in the pattern
become bound. If the matching fails, a run-time error occurs.
<P>Examples:
<PRE>
1&#62; <STRONG>X.</STRONG>
** 1: variable 'X' is unbound **
2&#62; <STRONG>X = 2.</STRONG>
2
3&#62; <STRONG>X + 1.</STRONG>
3
4&#62; <STRONG>{X, Y} = {1, 2}.</STRONG>
** exited: {{badmatch,{1,2}},...} **
5&#62; <STRONG>{X, Y} = {2, 3}.</STRONG>
{2,3}
6&#62; <STRONG>Y.</STRONG>
3
    
</PRE>
<CENTER>
<HR>
<SMALL>
Copyright &copy; 1991-2006
<A HREF="http://www.erlang.se">Ericsson AB</A><BR>
</SMALL>
</CENTER>
</BODY>
</HTML>