Scala中的点有什么规则吗?
正确的例子:Scala中的点有什么规则吗?,scala,Scala,正确的例子: "Hello".foldLeft(1L)((a, b) => a * b) REPL打印错误: "Hello" foldLeft(1L)((a, b) => a * b) 如何解释?有什么规定吗?我认为在Scala中跳过点是很好的,但有些示例不起作用 错误:Long(1L)不接受参数“Hello”foldLeft(1L)((a,b) =>a*b) 您可以将“中缀符号”与Arity-1(单参数)方法结合使用。惯例是将这些用于纯函数方法。对于像foldLeft这样的cu
"Hello".foldLeft(1L)((a, b) => a * b)
REPL打印错误:
"Hello" foldLeft(1L)((a, b) => a * b)
如何解释?有什么规定吗?我认为在Scala中跳过点是很好的,但有些示例不起作用
错误:Long(1L)不接受参数“Hello”foldLeft(1L)((a,b)
=>a*b)
您可以将“中缀符号”与Arity-1(单参数)方法结合使用。惯例是将这些用于纯函数方法。对于像foldLeft这样的curried函数(多参数列表),您只能对第一个参数列表使用中缀符号(这会让人困惑,您可能不想这样做)
相关的:
文件:
使用curried函数:
foldLeft
是一个curried函数,curried函数与中缀(无点)符号一起使用是不直观的。您需要将中缀调用括在括号中,如下所示:
scala> ("Hello" foldLeft 1L)((a, b) => a * b)
res0: Long = 9415087488
在这种情况下,我建议不要使用这种用法
对于一些一般规则,您可以查看。您需要说明哪些错误。
错误:Long(1L)不接受参数“Hello”foldLeft(1L)((a,b)=>a*b)