我正在阅读理论并遇到以下
let p = t in t //pattern binding
记录模式的示例
let {l1=x1:S1, l2=x2:S2} = E1 in (x1 x2)
// l1,l2 are lebels, x1,x2 are variables, S1 and S2 are types.
我理解让绑定,但不熟悉上面的表格,所以我有点困惑。谁能给我一个真实的例子并解释一下?我在线搜索,但没有看到与上面的模式绑定。
答案 0 :(得分:1)
对于Swift(例如,Rust似乎也是如此)你可以使用这样的东西:
let (x1, x2) = (0.5, 1) //where x1 would be Double, x2 would be Int based on type inference
在这里,您将值绑定到匹配对,即括号中左侧的第一个值绑定到右括号中的第一个值,依此类推。
然后,您可以通过引用x1或x2来使用像常规常量一样的绑定值:
print(x1) // prints 0.5