Как функция map2
обрабатывает списки разной длины?
e.g.
let list1 = [1; 2; 3]
let list2 = [4; 5; 6; 7]
let sumList = List.map2 (fun x y -> x + y) list1 list2
printfn "%A" sumList
Кажется странным, что это не упоминается в документации.
Как функция map2
обрабатывает списки разной длины?
e.g.
let list1 = [1; 2; 3]
let list2 = [4; 5; 6; 7]
let sumList = List.map2 (fun x y -> x + y) list1 list2
printfn "%A" sumList
Кажется странным, что это не упоминается в документации.
Несмотря на то, что в документации это не упоминается, можно легко проверить исходный код, чтобы узнать, что происходит, и детали реализации.
Как видно из ссылки, при передаче списка разного размера invalidArg вызывается, выдавая ArgumentException
с сообщением, хранящимся в ресурсе listsHadDifferentLengths
.