【发布时间】:2015-09-10 22:06:42
【问题描述】:
我有一个带有两个参数的 Scala 类和另一个参数构造函数。 对于单参数构造函数,我调用一个方法来获取两个元素的元组,并尝试将元组用于需要两个参数的构造函数的参数。这是一个例子:
def vals(v:Int) = {
// computation
(v,v) // returns two element tuple
}
class A(a:Int, b:Int) {
def this(v:Int) = {
this(vals(v))
}
}
object Main extends App {
val a = new A(10)
}
但是,我收到类型不匹配错误。 我在scala tuple unpacking 中找到了一个适用于函数调用但不适用于构造函数的解决方案。
def foo(x: Int, y: Int) = x * y
def getParams = {
(1,2) //where a & b are Int
}
object Main extends App {
println((foo _).tupled(getParams))
println(Function.tupled(foo _)(getParams))
}
如何解决这个问题?
【问题讨论】:
标签: scala parameters constructor