我经常发现自己在做以下事情:
println(foo)
当我想这样做时:
println foo
编译器不允许这样做。
还有, println 是一口,我真的只想说:
echo foo
因此,在基本包对象中,我创建了 println 的回显版本:
def echo(x: Any) = Console.println(x)
很简单,回声应用广泛,很棒。
现在,如何调用 echo 而无需将 Any 包装在括号中打印?
请您参考如下方法:
object ∊ {def cho(s: Any) {println(s)}}
∊cho "Hello world"
将节省您的手指。
它有效是因为 ∊ 是 Unicode Sm 集合中的数学符号,因此算作 operator in Scala ,所以当放在字母数字字符旁边时不需要空格。
你也可以
object echo {def -(s: Any) {println(s)}}
echo-"Hello world"
IMO 效果很好。
多年后编辑:另一个几乎解决方案,使用 StringContext:
implicit class PimpMyString(sc: StringContext) {
def echo(args: Any*) = println(sc.raw(args: _*))
}
echo"Hello World"




