Есть ли такая функция конкатенации в scala?Функция конкатенация в scala
Я помню в точке Haskell "." может выполнить две функции.
E.g. Я хочу, чтобы достичь
def f1(a:String) = a.toInt
def f2(a:Int) = a + 1
def f3 = f1 . f2
f3("123")
Есть ли такая функция конкатенации в scala?Функция конкатенация в scala
Я помню в точке Haskell "." может выполнить две функции.
E.g. Я хочу, чтобы достичь
def f1(a:String) = a.toInt
def f2(a:Int) = a + 1
def f3 = f1 . f2
f3("123")
В Scala, вы можете использовать andThen
, чтобы сделать это, как:
val f3 = f1 _ andThen f2 _
f3("123")
и Scala также имеет другой методcompose
объединить function
, compose
любит andThen
, но сначала он вызывает вторую функцию и вызывает первую функцию, например (f1 (f2 (_))).
Ссылка:
Ни одно из ключевых слов, это просто имена методов. –
@AlexeyRomanov, Спасибо, я обновлю это и добавлю ссылку 'Function1.scala'. – chengpohi
FYI, вы должны написать его назад в Haskell: 'f2. f1'. –
Scala имеет функцию композиции, но то, что у вас там есть, - это не функции, они методы. Сначала вам нужно преобразовать их в функции. –
@ JörgWMittag Я не совсем понимаю. В чем разница между функциями и методами? Не могли бы вы привести мне пример? – worldterminator