小编Maj*_*kij的帖子

在Scala中,如何将带有多个参数列表的函数作为参数传递?

def multi_fun(i:Int, s:String)(d:Double) […]
Run Code Online (Sandbox Code Playgroud)

如何将此函数现在作为参数传递给另一个函数,即需要指示哪个参数类型?

def fun_that_likes_multi_fun(mf:(Int, String)(Double) ? Unit) […]
Run Code Online (Sandbox Code Playgroud)

这不起作用,甚至无法解析.

parameters scala function

7
推荐指数
2
解决办法
4417
查看次数

(在Scala中)是否可以使用类的泛型类型参数而不是抽象类型成员来完成任何操作?

很明显,不能用抽象类型成员参数化方法.但是,是否有任何理由存在类的泛型类型参数,除了类型和实例化可以写得更短的便利问题,例如在以下抽象的List-ArrayList场景中:

这里,参数化由抽象类型成员实现:

trait base1 {
    type X
    def id(x: X): X
}
class extension1 extends base1 {
    override def id(x: X): X = x
}
val ext1: base1 { type X = Int } = new extension1 { type X = Int }
val y1 = ext1.id(0)
Run Code Online (Sandbox Code Playgroud)

这里通过泛型类型参数实现:

trait base2[X] {
    def id(x: X): X
}
class extension2[X] extends base2[X] {
    override def id(x: X): X = x
}
val ext2: base2[Int] = new extension2[Int]
val y2 = …
Run Code Online (Sandbox Code Playgroud)

generics parameters types scala abstract

5
推荐指数
1
解决办法
354
查看次数

标签 统计

parameters ×2

scala ×2

abstract ×1

function ×1

generics ×1

types ×1