当前位置:  开发笔记 > 编程语言 > 正文

什么是关系参数?

如何解决《什么是关系参数?》经验,为你挑选了1个好方法。

一个复杂的声音,没有一个简单的谷歌搜索的良好解释......是否有更多的学术导向的人可以解释这一个?



1> 小智..:

两个答案都是正确的.我会说参数化是多态的一种可能属性.如果多态项在所有实例化下表现相同,则多态性是参数化的."行为相同"是一个模糊,直观的术语.John Reynolds引入了关系参数,作为对此的数学形式化.它声明多态术语保留所有关系,直观地迫使它表现相同:

考虑f:列表 - >列表.如果我们有关系a~1,b~2,c~3,...,那么我们可以将它提升到列表中,例如[a,d,b,c]〜[1,4,2,3]

现在,如果f([a,d,b,c])= [c,b,d,a]和f保持关系,那么f([1,4,2,3])= [3,2,4] ,1].换句话说,如果f反转字符串列表,它也会反转数字列表.

因此,关系参数化多态函数不能"检查类型参数",因为它们不能根据类型改变它们的行为.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有