多态函数

Felix允许函数是多态的。这意味着您可以编写一个部分适用于任何类型的函数。

fun swap[A,B] (x:A, y:B) : B * A => y,x;

这称为参数多态性。名字 AB 称为类型变量。上述功能适用于任何实际类型:

println$ swap[int,string] (42, "Hello");

这里,我们显式地给出了具体的类型。如果可以从应用程序的参数中推导出类型,则不需要这样做:

println$ swap(42, "Hello");

在这里, A 必须是 int 因为参数x有类型 A ,参数42具有类型 int . 同样地, B 必须是 string 因为“hello”有string类型。