Pyke 逻辑编程入门(8):模式匹配之“病理学问题的答案”
来源:互联网 发布:冰川网络有手游吗 编辑:程序博客网 时间:2024/05/01 15:01
病理学问题的答案
这是下面问题的答案:
一个病理学的问题
下列两个元组模式匹配合一之后,其中模式变量 $y 约束的值是什么:
- 元组模式 A:
- ((ho, $_, ($a, $a)), ($a, $a, $b), ($a, *$b))
- 元组模式 B:
- ($x, $x, $y)
问题答案
让我们一步一步地对两个元组模式的成员进行匹配合一。
- (ho, $_, ($a, $a)) 与 $x 匹配。
匹配成功:
$x 约束成 (ho, $_, ($a, $a))
- ($a, $a, $b) 与 $x 匹配。
由于 $x 已经如上约束了值,这一匹配实际成为:
($a, $a, $b) 与 (ho, $_, ($a, $a)) 的匹配
由此完成以下约束:
$a 变成 ho
$b 变成($a, $a)
$_ 是匿名变量,没有值,不能约束其他变量,也不接受其他变量的约束。
- ($a, *$b) 与 $y 匹配。
由于 $a 和 $b 已有约束值,这一匹配实际成为:
(ho, ho, ho) 与 $y 匹配
由此完成以下约束:
$y 变成 (ho, ho, ho)
总之,匹配的过程完成了以下值的约束:
$x 变成 (ho, $_, ($a, $a))
$a 变成 ho
$b 变成 ($a, $a)
$y 变成 (ho, ho, ho)
结论是:$y 等于 (ho, ho, ho)。
注 意
你若解题回答正确,你真应该使用 Pyke 。
- Pyke 逻辑编程入门(8):模式匹配之“病理学问题的答案”
- Pyke 逻辑编程入门(7):模式匹配之“两个模式的匹配”
- Pyke 逻辑编程入门(3):模式匹配
- Pyke 逻辑编程入门(4):模式匹配 之“文字模式”
- Pyke 逻辑编程入门(5):模式匹配 之“模式变量”
- Pyke 逻辑编程入门(6):模式匹配 之“元组模式”
- Pyke 逻辑编程入门(10):规则之“正向推理”
- Pyke 逻辑编程入门(11):规则之“反向推理”
- Pyke 逻辑编程入门(14):知识库之“事实库”
- Pyke 逻辑编程入门(15):知识库之“规则库”
- Pyke 逻辑编程入门(16):知识库之“问题库”
- Pyke 逻辑编程入门(17):知识库之“特别库”
- Pyke 逻辑编程入门(2):表示事实的陈述句
- Pyke 逻辑编程入门(1)
- Pyke 逻辑编程入门(9):规则
- Pyke 逻辑编程入门(12):“方案”
- Pyke 逻辑编程入门(13):知识库
- Scala入门之模式匹配
- 转载:通过 Firefox 扩展为 Google Calendar 加密
- 转载,点评:使用开源软件设计、开发和部署协作型 Web 站点
- asp三级联动源代码.rar
- 百度mp3加密算法破解PHP版
- Pyke 逻辑编程入门(7):模式匹配之“两个模式的匹配”
- Pyke 逻辑编程入门(8):模式匹配之“病理学问题的答案”
- 跨站用代码
- 程序员与项目经理
- Asp.NET XMLHTTP获取网页内容C#版
- 3月9号总结
- asp.net页面生存周期
- (转)谈谈同学会
- 怎样做一个更有魅力的人 (摘自 开复学生网)
- 线程同步---Visual C++