scala – 如何使用Tuple2调用需要2个参数的函数?
发布时间:2020-12-16 19:07:49 所属栏目:安全 来源:网络整理
导读:我有一个这样的功能: def print(name:String,surname:String) { println(name + " " + surname) } 我也有一个Tuple2: val johnsmith = ("John","Smith") 当我打电话给johnsmith我得到以下错误: scala print(johnsmith) error: not enough arguments for m
我有一个这样的功能:
def print(name:String,surname:String) { println(name + " " + surname) } 我也有一个Tuple2: val johnsmith = ("John","Smith") 当我打电话给johnsmith我得到以下错误: scala> print(johnsmith) error: not enough arguments for method print: (name: String,surname: String)Unit. Unspecified value parameter surname. print(johnsmith) ^ 有没有办法呢?我可以通过打印接受一个Tuple2来让它工作: def print2(t:Tuple2[String,String]) { println(t._1 + " " + t._2) } 现在我可以这样称呼: scala> print2(johnsmith) John Smith scala> print2("john","smith") john smith 有没有我失踪的东西? 解决方法
首先将方法转换为函数,然后将两个args的函数转换为一个元组的函数.
Function.tupled(print _)(johnsmith) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |