首页 > 解决方案 > 参数在结果表达式中重复时可以使用通配符匿名函数吗?

问题描述

求整数“x”的平方。

  1. 没有占位符 var square = (x:Int) => x*x square(3) 提供所需的输出 9。

  2. 使用占位符var square = (_:Int)*(_:Int) square(3) 给出错误 方法应用的参数不足:(v1: Int, v2: Int)Int in trait Function2。未指定值参数 v2。

内部发生了什么?

标签: scalaanonymous-function

解决方案


不,每次出现_代表函数参数列表中的下一个参数。

(_:Int)*(_:Int)是一个接受两个Int参数并将它们相乘的函数。


推荐阅读