有人能解释一下这个Scala映射函数来计算字符串的乘积吗';s unicode

有人能解释一下这个Scala映射函数来计算字符串的乘积吗';s unicode,scala,Scala,我正在寻找计算字符串的unicode代码点乘积的解决方案 其中一个答案包括以下片段: "Hello" map (i => BigInt(i)) product 我不知道这会被编译。有人能给我解释一下这是怎么回事吗?为什么它与空格一起工作 对于方法调用,您可以省略。在Scala中,foo.bar相当于foo-bar。而foo.bar(baz)与foo.bar baz相同 这种风格并不常用,除了最简单的代码外,通常不鼓励使用。这条线整体相当于: "Hello".map(i => Big

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

其中一个答案包括以下片段:

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

我不知道这会被编译。有人能给我解释一下这是怎么回事吗?为什么它与空格一起工作

对于方法调用,您可以省略
。在Scala中,
foo.bar
相当于
foo-bar
。而
foo.bar(baz)
foo.bar baz
相同

这种风格并不常用,除了最简单的代码外,通常不鼓励使用。这条线整体相当于:

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

这一行可以理解为

{val string = "Hello"

 val charList = string.map(i=>BigInt(i))

 charList.product}

它返回作为代码块结果的产品

,因为空格与Scala中的方法调用相同。Scala有许多空格语法,可以编译为正确的代码。这是为了提高代码的可编辑性,减少代码的冗长性,但事实并非如此。这是中缀和后缀符号。谢谢,我学到了一些新东西。编辑以删除称为自由点的零件。