使用Scala 2.10+字符串可以进行插值。所以我有这个问题。你怎么能这样做:
println(f"$foo(100,51)%1.0f" )
考虑到foo是一个函数:
def foo(x1:Int , x2:Int) : Double = { ... }
根据我的理解,这被评估的方式使得foo被认为没有参数,因为我得到的信息是:
missing arguments for method foo in object bar;
follow this method with `_' if you want to treat it as a partially applied function
我尝试使用括号,但仍然会出现错误。
答案 0 :(得分:11)
用大括号括起来foo
的电话。
例如,让
def foo(x1: Int, x2: Int) : Double = Math.PI * x1 * x2
例如
foo(100,51)
res: Double = 16022.122533307946
然后
scala> println(f"${foo(100,51)}%1.0f" )
16022