2017年3月31日金曜日

関数型プログラミングの基礎 代数的データ構造のmatch関数

scalaにある便利なパタンマッチをjavascriptで実現する方法が書いてあった。

 var empty = () => {
  return (pattern) => {
    return pattern.empty();
  };
};

 var match = (data,pattern) => {
 return data(pattern);
};

 match(empty(),{
  empty: (_)=> {
  return true;
  },
  cons: (head,tail) => {
  ....
  }
});   //ここでは、empty()にマッチして trueが返される。

0 件のコメント:

コメントを投稿