OCaml ã§ã¯ï¼éãåã§å帰ããå¤ç¸é¢æ°ãæ¸ããã¨ãé£ããï¼ ä»¥ä¸ã®ãã¼ã¿å ('a,'b) twist ãèããï¼ type ('a,'b) twist = Nil | Cons of 'a * 'b * ('b,'a) twist ä¾ãã°ï¼æ¬¡ã®å¤ã¯ãã¼ã¿å (int,bool) twist ãæã£ã¦ããï¼let twist_data = Cons(1,true,Cons(false,2,Nil)) ãã®ãã¼ã¿åã«å¯¾ãï¼é·ãï¼Consã®åæ°ï¼ãæ±ãã颿°ãå®ç¾©ãã¦ã¿ããï¼let rec length = function Nil -> 0 | Cons(a,b,rest) -> 1 + length rest 颿° length ã®å®ç¾©ã¯èªç¶ã®ããã«æãããï¼å®éã«ã¯ ('a,'a) twist -> int ã¨ããåãæ¨è«ããã¦ãã¾ãï¼ä¸è¨ã® twist_data ã«ã¯é©ç¨ã§ããªãï¼


{{#tags}}- {{label}}
{{/tags}}