scala – 如何通过元组参数最好的方法?
发布时间:2020-12-16 09:38:16 所属栏目:安全 来源:网络整理
导读:如何通过元组参数最好的方法? 例: def foo(...): (Int,Int) = ...def bar(a: Int,b: Int) = ... 现在我想将foo的输出传递给bar。这可以通过以下方式实现: val fooResult = foo(...)bar(fooResult._1,fooResult._2) 这种方法看起来有点丑陋,特别是当我们
如何通过元组参数最好的方法?
例: def foo(...): (Int,Int) = ... def bar(a: Int,b: Int) = ... 现在我想将foo的输出传递给bar。这可以通过以下方式实现: val fooResult = foo(...) bar(fooResult._1,fooResult._2) 这种方法看起来有点丑陋,特别是当我们处理n元组时,n>另外,我们必须将foo的结果存储在一个额外的值中,因为foo必须使用bar(foo._1,foo._2)不止一次执行。 有没有更好的方式通过元组作为参数? 解决方法
每个功能都有一个特殊的tupled方法:
val bar2 = (bar _).tupled // or Function.tupled(bar _) bar2采用(Int,Int)的元组(与bar参数相同)。现在你可以说: bar2(foo()) 如果你的方法实际上是函数(注意val关键字),语法更加愉快: val bar = (a: Int,b: Int) => //... bar.tupled(foo()) 也可以看看 > Applying a function to a tuple in Scala (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |