【发布时间】:2017-01-24 18:51:45
【问题描述】:
我想在 scala 中创建一个方法/函数,它可以接受 string 或 int 类型的变量参数并返回 String 或 Int 类型的结果。
def Hello(name: String, Param: int*/string*): Int/String= {
var index = 0
while(index < Param.length) {
var n = name
var ar = Param(index)
if ( n.equals(ar) ) return Param(index + 1)
else index = index + 1
}
return Param(index.length -1)
}
如果我们调用 Hello 函数,那么它应该返回如下所示的结果。
val Res1 = Hello("Jack", "rakesh", 1, "Jack", 2, "No one")
println(Res1)
=> this should return value 2
val Res2 = Hello("ABC", "rakesh", 1, "Jack", 2, "Vik", 3, "ram", 4, "No one")
println(Res2)
=> this should return value "No one"
【问题讨论】:
-
可能使用
Any会有所帮助,但不准确?def func1(a: String, s: Any*): Any -
你考虑过Ether吗?
def Hello(name: String, Param: Either[Array[Int]/Array[String]]): Either[Int/String]?您可以为可变参数重载它,并在函数中使用Either的通用代码。
标签: scala