Я начинаю изучить язык программирования Scala. Я немного разбираюсь в языках FP, таких как Erlang и Haskell, и у меня есть сомнения по поводу значения выражения for/yield, например:
for (arg <- args) yield arg.length
Это собирало бы массив с длинами любого входного аргумента. Из того, что я понял, это похоже на функцию карты в обычном программировании FP:
map (\a -> a * 2) [1, 2, 3] (in Haskell)
Я знаю, что библиотека Scala содержит метод scala.collection.map, поэтому я хотел бы знать:есть ли какие-либо различия или ограничения в использовании либо стиль, либо они точно такие же?