问题标签 [structural-equality]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - `System.Exception` 的派生类在结构上是否等同于 `System.Exception`?
我在看
的所有(或在大多数情况下)派生类System.Exception
,无论是用户定义的还是系统定义的,在结构上都与它们的基类等价System.Exception
,尽管它们在名义上不是等价的,这是否正确?
谢谢。
java - 为什么 Kotlin 使用 == 表示结构相等并引入 === 表示引用相等
总的来说,Kotlin 中的每个设计决策都让人感觉它本身就很棒,并且提供了从 Java 的良好过渡。作为一名 Java 开发人员,您可以开始在其中进行编码,将 Kotlin 视为一种更简洁的 Java,更少样板,然后顺利地进入更高级的方面,如函数式编程。
然而,我想知道的一件事是为什么它的设计者决定使其==
行为相同equals
,然后引入===
参照相等检查。我可以想象尝试让其他 Java 开发人员参与进来,让他们看到您的 Kotlin 代码并想“哦,不,到处都有引用检查,它应该是一个相等的调用!”
在这里摆脱 Java 约定的思考过程是什么?为了清楚起见,我完全理解Kotlin 中==
orequals
和之间的区别===
,我只是想知道为什么。
f# - F# 记录结构比较排序
如果我有这样的记录:
我知道 F# 的结构比较将确保在对列表进行排序时,它将保持一致的顺序。
我的问题是我是否可以依靠它以特定的方式进行比较,那是什么?
例如MyDate
上面的记录:如果它按照声明的顺序比较每个字段,那么我可以假设以下内容:
{ Year: 2010; Month: 9: Day: 8 } > { Year: 2009; Month: 10; Day: 20 }
我一直在努力寻找描述 Record 类型的结构相等性如何工作的文档。我可以从 Fsharp.Core 测试中看到元组比较是如何工作的:https ://github.com/fsharp/fsharp/blob/cb6cb5c410f537c81cf26825657ef3bb29a7e952/tests/fsharp/core/attributes/test.fsx#L737 ,但我似乎看不到为记录类型找到类似的测试。
typescript - TypeScript generics: how to define type T which is structurally the same as other type S
I have a notion of a Step
, which requires value of type A
as an input and gives out a value of type B
.
Now I would like to compose two steps, so I end up with something like this inside class Step
:
What I would like to achieve is to somehow tell the type system that we can pass type B
to a function which expects type C
(structural typing should check that all fields in C
are present in B
), so that the line return nextStep.run(b)
works fine.
Example:
As you can see stepB
requires as an input {a: number}
, so it can be fed an output from stepA
which is {a: number, b: string}
. But I cannot figure out how to define the relation in andThen
. Any thoughts how this can be achieved?
kotlin - 当属性之一是函数时 Kotlin 数据类相等
我想知道具有其中一个属性的数据类是否是函数,例如:
完全可以工作,因为以下测试失败。
更新:用例可能是有一个
然后在做的时候把它流到 UIdistinctUntilChanged()