[英]Scala equivalent of Haskell first and second
Haskell具有非常方便的函数,称为first
和second
,它们将函数应用于一对中的一个元素:
first fn (a,b) = (fn a, b)
second fn (a,b) = (a, fn b)
这些功能是否在标准Scala库中定义?
编辑:我知道定义它们很容易,但是在可能的情况下,使用带有标准名称的标准函数会更干净...
def first[A, B, X](fn: A => X)(pair: (A, B)): (X, B) = (fn(pair._1), pair._2)
def second[A, B, X](fn: B => X)(pair: (A, B)): (A, X) = (pair._1, fn(pair._2))
这些功能是否在标准Scala库中定义?
不。 这不是在Scala中经常出现的,以至于保证在标准库中。 如果没有大量的代码(或宏),很难将其归纳为任何Arue元组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.