有人可以解释这个 Scala 映射函数来计算字符串的 unicode 的乘积吗



我正在寻找用于计算字符串Unicode代码点的乘积的解决方案。

答案之一包括此片段:

"Hello" map (i => BigInt(i)) product

我不知道这会编译。有人可以向我解释这是如何工作的吗?为什么它可以与白色空间一起使用?

该行可以读为

{val string = "Hello"
 val charList = string.map(i=>BigInt(i))
 charList.product}

返回代码块的结果

的结果

您可以省略.进行方法调用。在Scala中,foo.bar等于foo bar。和foo.bar(baz)foo bar baz相同。

这种样式通常不常用,通常不使用最简单的代码来劝阻。这条线总体等同于:

"Hello".map(i => BigInt(i)).product

最新更新