多态函数
Felix允许函数是多态的。这意味着您可以编写一个部分适用于任何类型的函数。
fun swap[A,B] (x:A, y:B) : B * A => y,x;
这称为参数多态性。名字 A 和 B 称为类型变量。上述功能适用于任何实际类型:
println$ swap[int,string] (42, "Hello");
这里,我们显式地给出了具体的类型。如果可以从应用程序的参数中推导出类型,则不需要这样做:
println$ swap(42, "Hello");
在这里, A 必须是 int 因为参数x有类型 A ,参数42具有类型 int . 同样地, B 必须是 string 因为“hello”有string类型。