next up previous
Next: 1.2 マッチング関数の構造 Up: 1 変数を含むパターンとデータのマッチング Previous: 1 変数を含むパターンとデータのマッチング

1.1 マッチング関数の仕様

マッチング処理後に変数のバインディング情報を簡単に参照できるようにマッ チング関数はマッチングが成功した場合には,バインディング情報,失敗した 場合には失敗したという印を返すという仕様にします. バインディング情報が返ってくるということはマッチングに成功したというこ とを示します.パターンに変数がない場合には,バインディング情報は何もな くなるため,バインディング情報がないということはマッチングが成功したと いうことを示すことになります. 変数のバインディング情報を連想リストで表現すると,
<cl> (match '(x y z) '(x y z))
NIL 
<cl> (match '(?a ?a) '(x y))
FAIL 
<cl> (match '(?a ?a) '(x x))
((?A . X)) 
<cl> (match '(?a ?a) '(y y))
((?A . Y))
というように,マッチングが失敗した場合に,failというシンボルを返すよう にします.注意しなければならないことは,NILという結果はマッチングした ということを意味するということです.
next up previous
Next: 1.2 マッチング関数の構造 Up: 1 変数を含むパターンとデータのマッチング Previous: 1 変数を含むパターンとデータのマッチング
generated through LaTeX2HTML. M.Inaba 平成18年5月21日