我定义了类似这样的类型:
.dittomall-banner {
display: flex;
background-color: #ed8c7b;
}
.banner-inner-wrapper {
margin: 0 auto;
}
现在我创建了一个函数,它希望这个类型作为这样的方法的参数:
type Similarity = (String, Int) => Boolean
我的问题是如何传递参数来计算函数?例如,如果我想传递字符串和数字?
答案 0 :(得分:0)
例如,你可以写:
calculate((s: String, n: Int) => s.length > n)
答案 1 :(得分:0)
calculate
函数将函数作为参数。所以你可以传递这样的匿名函数。
scala> type Similarity = (String, Int) => Boolean
defined type alias Similarity
scala> def calculate(param: Similarity) = { println("hi") }
calculate: (param: Similarity)Unit
scala> calculate((x: String, y: Int) => x.toInt == y )
hi
答案 2 :(得分:0)
您必须创建一个函数,其返回类型是您创建的类型
def func(x: String, y: Int): Similarity = {
if(x.equalsIgnoreCase("Joe")) (x, y) => true
else (x, y) => false
}
然后,如果你有一个数据
val data = Seq(("Joe", 1))
您可以将计算称为
data.map(x => calculate(func(x._1, x._2)))
答案 3 :(得分:0)
我的问题是如何传递参数来计算函数?例如,如果我想传递字符串和数字?
calculate
的参数是Similarity
,不是字符串和数字。您可以将字符串和数字传递到param
内的calculate
,例如
def calculate(param: Similarity) = param("a", 0) || param("b", 1)
或将参数添加到calculate
,例如
def calculate(param: Similarity, x: String, y: Int) = param(x, y + 1)