Scala:开启元组作为参数列表的一部分
发布时间:2020-12-16 21:33:53 所属栏目:安全 来源:网络整理
导读:我试图发送一个方法调用的元组的结果,作为另一个方法的参数列表的一部分. 目标方法 def printResult(title: String,result: Int,startTime: Long,endTime: Long) 从方法返回,部分参数列表 def sendAndReceive(send: Array[Byte]): (Int,Long,Long) 换句话说,
我试图发送一个方法调用的元组的结果,作为另一个方法的参数列表的一部分.
目标方法 def printResult(title: String,result: Int,startTime: Long,endTime: Long) 从方法返回,部分参数列表 def sendAndReceive(send: Array[Byte]): (Int,Long,Long) 换句话说,我试图调用printResult(String,(Int,Long)).如果方法返回签名匹配方法调用,那么我可以使用 (printResult _).tupled(sendAndReceive(heartbeat)) 这会导致语法错误 printresult("Hi",Function.tupled(sendAndReceive(heartbeat)) 解决方法 我正在手动解包元组,然后在调用该方法时使用它 val tuple = sendAndReceive(heartbeat) printResult("Heartbeat only",tuple._1,tuple._2,tuple._3) 有没有更优雅的方式来解包和发送一个元组作为参数列表的一部分? 参考 Scala: Decomposing tuples in function arguments Invoke a method using a tuple as the parameter list Will tuple unpacking be directly supported in parameter lists in Scala? Tuple Unpacking in Map Operations 解决方法
您可以执行以下操作:
val (result,startTime,endTime) = sendAndReceive(heartbeat) printResult("Heartbeat only",result,endTime) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |