ç¡åé¢æ°ã§ã®è¤æ°ãã¿ã¼ã³ããã
ã§ããè¨èª
MLã§ã¯ä»¥ä¸ã®ããã«ãç¡åé¢æ°ã®å®ç¾©æã«|ã§åºåã£ã¦è¤æ°ã®ã±ã¼ã¹ã®ãã¿ã¼ã³ããããæ¸ãã
http://www.geocities.jp/m_hiroi/func/smlnj05.html
fn pat1 => expr1 | pat2 => expr2 | ... | patN => exprN
OCamlã§ã¯ä»¥ä¸ã®ããã«æ¸ãã
http://www.geocities.jp/m_hiroi/func/ocaml04.html
function pat1 -> expr1 | pat2 -> expr2 | ... | patN -> exprN
Scalaã§ã¯ä»¥ä¸ã®ããã«æ¸ãã
http://rainyday.blog.so-net.ne.jp/2007-01-01
{ case pat1 => expr1 case pat2 => expr2 ... case patN => exprN }
Erlangã§ã¯ä»¥ä¸ã®ããã«æ¸ãã
http://www.kmonos.net/alang/etc/erlang.php#function
fun (pat1) -> expr1 ; (pat2) -> expr2 ; ... ; (patN) -> exprN end
Gaucheã§ã¯ä»¥ä¸ã®ããã«æ¸ãã
http://practical-scheme.net/gauche/man/gauche-refj_163.html
(match-lambda* (pat1 expr1) (pat2 expr2) ... (patN exprN))
ã§ããªãè¨èª
Haskellã§ä»¥ä¸ã®ããã«æ¸ãã¦ãã¨ã©ã¼ã«ãªã£ã¦ãã¾ã
\ { pat1 -> expr1 ; pat2 -> expr2 ; ... ; patN -> exprN }
Cleanãè¦å代æ¿é¨ã¯æ¸ããªãããã ã
Clean Version 2.0 è¨èªå ±å ã第ï¼ç« ã
http://sky.zero.ad.jp/~zaa54437/programming/clean/LanguageReport21/Chap3.html
3.4.1ãã©ã ãæ½è±¡
ãããããã®æ¹æ³ã§ã¯ãã·ã³ãã«ãªé¢æ°ããå®ç¾©ã§ããªããã¤ã¾ããã¬ã¼ããè¦å代æ¿é¨ã¨å±æå®ç¾©ã¯ãªãã