斯卡拉:
(1 to 100000000).toList.foldLeft(0)((acc, x) => acc + x)
灵药:
1..100000000 |> Enum.to_list |> List.foldl(0, fn x, acc -> x + acc end)
它们具有相同的功能。但是,JVM 只是抛出了 GC 异常,而 BEAM 可以安全地处理它。我只是好奇为什么JVM无法处理这种情况?是JVM的错还是Scala编译器的错?(我知道我可以使用 Stream 或 View 来处理这种情况)