调用函数的时候用的是位置,定义函数的时候用的是变量去访问
创建mytype类型和生成3个constructor,利用这个constructor会的得到myType类型
没有携带数据的constructor不会为作用域增加新数据,但他还是会到对应的分支执行他
多态datatype
除了one of type可以用case expression,each of type也可以用这种方式访问
事实上,值绑定也是一种case expression,并且只有一种case expression
实际上函数的传参也是这样,所以还可以优化前面的例子
因为可以直接返回tuple,所以还可以直接将返回值直接传给另一个函数,只要这个函数的参数match这个tuple
嵌套模式,规避每个情况的判空,而是直接可能拿到嵌套的情况去计算,其余情况可以为空
匹配tuple直接去单个单个的判断他们
通配符去匹配其他情况可以减少代码
Function Patterns
符合尾递归的条件是在递归函数时,只是仅仅返回值,而不是调用完函数还有一些副作用操作,如果是仅仅返回值,那么被调用的函数就会替换掉当前的栈,而不是展开多个栈