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> <STRONG>X.</STRONG>
** 1: variable 'X' is unbound **
2> <STRONG>X = 2.</STRONG>
2
3> <STRONG>X + 1.</STRONG>
3
4> <STRONG>{X, Y} = {1, 2}.</STRONG>
** exited: {{badmatch,{1,2}},...} **
5> <STRONG>{X, Y} = {2, 3}.</STRONG>
{2,3}
6> <STRONG>Y.</STRONG>
3
</PRE>
<CENTER>
<HR>
<SMALL>
Copyright © 1991-2006
<A HREF="http://www.erlang.se">Ericsson AB</A><BR>
</SMALL>
</CENTER>
</BODY>
</HTML>
|