Pyke 逻辑编程入门(6):模式匹配 之“元组模式”


元组模式

元组模式只与元组合一匹配。它形式上是在圆括号中,成员由逗号隔开的模式列表:

(1, $x, "buckle my shoe")

你可把元组的最后那个变量,用星号(*)修饰成“其余模式”:

($a, fie, $b, *$c)

这个“其余模式”的变量,总是约束为元组。

例如:

  • (1, $x, "buckle my shoe") 与 (1, 2, "buckle my shoe") 合一匹配,$x 约束值等于 2。
  • (1, $x, "buckle my shoe") 与 (1, 2, "buckle my belt") 不相匹配,原因是两个元组的第三个模式值不相同。
  • ($a, fie, $b, *$c) 与 (fee, fie, foe, fum) 合一匹配,$a 约束为 fee,$b 约束成 foe,$c 约束为元组 (fum)。
  • ($a, fie, $b, *$c) 与 (fee, fie, foe) 合一匹配,$a 约束成 fee, $b 约束成 foe,$c 约束成空的元组 ()。
  • ($a, fie, $b, *$c) 与 (fee, fie) 不相匹配,原因是第二个元组必须至少有三个成员。

提 示
可以用 (*$foo) 专门匹配元组,$foo 会约束成整个元组。但若与其他类型数据匹配,会失败。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值