[英]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.