<><>>
一般问题似乎难以解决。 https://stackoverflow.com/questions/4844243/Function-equality-on-restricted-Functions”
我如何确定职能的平等?
让我们说:
function f() {
// black box code.
}
function g() {
// black box code.
}
我们用一个功能的数学定义。 So
if for all x in domain, f(x) === g(x) then f === g
- How do we handle domains?
- How can we otherwise determine if
f === g
按来源代码分列的核对是sil的,因为
function f(i) {
return i % 2;
}
function g(i) {
var returnVal = i % 2;
return returnVal;
}
绝对平等。 这些是三维例子,但你可以想象,更为复杂的功能是平等而不是来源平等。
您可以假定,<代码>f和g
没有我们所关心的副作用。
<><>>
正如“@Pointy”提到,可能最好限制这个领域。 平等功能的使用者应当提供一个领域。
提出两个职能是否平等而不在某个地方界定其范围,是毫无意义的。
简单地说,我们可以假定的领域是所有分类或分类,因此我们需要一种功能:
function equal (f, g, domain) {
}
该领域的结构是毫不相干的,能够使问题尽可能容易。 您还可以假设,<代码>f和g
在分类账和不发生故障和复制方面 act然行事;
您可以假设<代码>f和g
!
@Pointy再次指出了非决定性职能的一个良好例子。
如果我们限制<条码>f条码>和>;<条码>g条码>是决定性的。