Pyke 逻辑编程入门(7):模式匹配之“两个模式的匹配”
来源:互联网 发布:冰川网络有手游吗 编辑:程序博客网 时间:2024/05/17 17:56
两个模式的匹配
你已经见过不同类型的模式,及其如何与数据匹配合一。
模式用于产生事实(陈述)。一种方式是通过询问得到事实,即模式与数据匹配。
生成事实的另外一种方式,是使用规则。以后再解释它。
应用规则,即需要模式与数据的匹配,也需要模式之间的匹配。
在讨论规则问题之前,需要弄清两个模式是如何匹配的。
简单地说,全靠模式变量。模式变量不仅可以约束成数据,也会约束成别的模式。
约束成文字模式
把模式变量约束成文字模式,就像把它约束成文字模式中的数据。仅此而已。
约束成别的模式变量
若模式变量A约束成B,即A变成了B,则它们实际上成为相同的模式变量。
模式变量A约束成B之后,B依旧是自由的、未受约束的。
- 在把模式变量B约束成某个值之前,说A或B已受约束,都是错误的。
- 无论把模式变量A或B的哪一个约束成某个值,可以肯定,B已经约束成那个值。
- 若B约束成了某个值,通过与模式变量A或B的匹配合一,都可得到相同的这个值。
不管目的和意图如何,模式变量A和B成了相同变量。
一个病理学的问题
下列两个元组模式匹配合一之后,其中模式变量 $y 约束的值是什么:
- 元组模式 A:
- ((ho, $_, ($a, $a)), ($a, $a, $b), ($a, *$b))
- 元组模式 B:
- ($x, $x, $y)
问题答案在此,先别偷看哟……
- Pyke 逻辑编程入门(7):模式匹配之“两个模式的匹配”
- Pyke 逻辑编程入门(8):模式匹配之“病理学问题的答案”
- 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入门之模式匹配
- 转载:保护 Web 服务器的安全
- 转载:通过 Firefox 扩展为 Google Calendar 加密
- 转载,点评:使用开源软件设计、开发和部署协作型 Web 站点
- asp三级联动源代码.rar
- 百度mp3加密算法破解PHP版
- Pyke 逻辑编程入门(7):模式匹配之“两个模式的匹配”
- Pyke 逻辑编程入门(8):模式匹配之“病理学问题的答案”
- 跨站用代码
- 程序员与项目经理
- Asp.NET XMLHTTP获取网页内容C#版
- 3月9号总结
- asp.net页面生存周期
- (转)谈谈同学会
- 怎样做一个更有魅力的人 (摘自 开复学生网)