【发布时间】:2020-11-23 19:17:48
【问题描述】:
我最近意识到在 DW 2.0 中使用类似于泛型的表示法来表示多态类型。
下面的例子
%dw 2.0
output application/dw
fun id1(a) = a
fun id2(a: Any) = a
fun id3<T>(a: T) = a
var id4 = <T>(a: T) -> a
---
{
"d1": id1,
"d2": id2,
"d3": id3,
"d4": id4,
r1: id1(10),
r2: id2(10),
r3: id3(10),
r4: id4(10)
}
说明这些函数的签名和语义是相同的。
这引出了一个问题,如果有的话,这些定义之间有什么区别?你会推荐哪一个?
最后,确认我的假设,即 DW 2.0 借用了这种在 OO 语言中发现的类似泛型的语法来支持显式多态类型。
注意:我确实使用了application/dw,以便在从 Anypoint Studio 运行预览时查看函数的信号
TIA!
【问题讨论】: