13
13
compliance with the License. You should have received a copy of the
14
14
Erlang Public License along with this software. If not, it can be
15
15
retrieved online at http://www.erlang.org/.
17
17
Software distributed under the License is distributed on an "AS IS"
18
18
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
19
19
the License for the specific language governing rights and limitations
24
24
<title>Match specifications in Erlang</title>
363
<cell align="left" valign="middle">Expression\011\011</cell>
364
<cell align="left" valign="middle">Variable bindings\011\011</cell>
365
<cell align="left" valign="middle">Result\011</cell>
363
<cell align="left" valign="middle">Expression </cell>
364
<cell align="left" valign="middle">Variable bindings </cell>
365
<cell align="left" valign="middle">Result </cell>
368
<cell align="left" valign="middle">{{'$1','$2'}}\011\011</cell>
368
<cell align="left" valign="middle">{{'$1','$2'}} </cell>
369
369
<cell align="left" valign="middle">'$1' = a, '$2' = b</cell>
370
370
<cell align="left" valign="middle">{a,b}</cell>
373
<cell align="left" valign="middle">{const, {'$1', '$2'}}\011</cell>
373
<cell align="left" valign="middle">{const, {'$1', '$2'}} </cell>
374
374
<cell align="left" valign="middle">doesn't matter</cell>
375
375
<cell align="left" valign="middle">{'$1', '$2'}</cell>
378
<cell align="left" valign="middle">a\011\011\011</cell>
379
<cell align="left" valign="middle">doesn't matter\011\011\011</cell>
378
<cell align="left" valign="middle">a </cell>
379
<cell align="left" valign="middle">doesn't matter </cell>
380
380
<cell align="left" valign="middle">a</cell>
383
<cell align="left" valign="middle">'$1'\011\011\011</cell>
384
<cell align="left" valign="middle">'$1' = []\011\011\011</cell>
383
<cell align="left" valign="middle">'$1' </cell>
384
<cell align="left" valign="middle">'$1' = [] </cell>
385
385
<cell align="left" valign="middle">[]</cell>
388
<cell align="left" valign="middle">['$1']\011\011\011</cell>
389
<cell align="left" valign="middle">'$1' = []\011\011\011</cell>
388
<cell align="left" valign="middle">['$1'] </cell>
389
<cell align="left" valign="middle">'$1' = [] </cell>
390
390
<cell align="left" valign="middle">[[]]</cell>
393
<cell align="left" valign="middle">[{{a}}]\011\011\011</cell>
393
<cell align="left" valign="middle">[{{a}}] </cell>
394
394
<cell align="left" valign="middle">doesn't matter</cell>
395
395
<cell align="left" valign="middle">[{a}]</cell>
398
<cell align="left" valign="middle">42\011\011\011</cell>
398
<cell align="left" valign="middle">42 </cell>
399
399
<cell align="left" valign="middle">doesn't matter</cell>
400
400
<cell align="left" valign="middle">42</cell>
403
<cell align="left" valign="middle">"hello"\011\011\011</cell>
403
<cell align="left" valign="middle">"hello" </cell>
404
404
<cell align="left" valign="middle">doesn't matter</cell>
405
405
<cell align="left" valign="middle">"hello"</cell>
408
<cell align="left" valign="middle">$1\011\011\011</cell>
408
<cell align="left" valign="middle">$1 </cell>
409
409
<cell align="left" valign="middle">doesn't matter</cell>
410
410
<cell align="left" valign="middle">49 (the ASCII value for the character '1')</cell>
507
507
a list which in turn begins with the second argument times
508
508
two (i. e. [{[4,x],y},2] or [{[8], y, z},4])</p>
509
509
<code type="none"><![CDATA[
510
[{['$1', '$2'],\011[{'=:=', {'*', 2, '$2'}, {hd, {element, 1, '$1'}}}],
510
[{['$1', '$2'],[{'=:=', {'*', 2, '$2'}, {hd, {element, 1, '$1'}}}],
513
513
<p>Match three arguments. When all three are equal and are
514
514
numbers, append the process dump to the trace message, else