【发布时间】:2012-02-24 06:49:35
【问题描述】:
scala> val alist = List(1,2,3,4,5)
alist: List[Int] = List(1, 2, 3, 4, 5)
scala> alist filter { 2.< }
res2: List[Int] = List(3, 4, 5)
scala> alist filter { 2 < }
res3: List[Int] = List(3, 4, 5)
scala> alist filter { > 3 }
<console>:1: error: ';' expected but integer literal found.
alist filter { > 3 }
为什么{ 2.< } 和{2 <} 会起作用?我想至少我应该写{ 2 < _ } 对吧?
一个不需要参数的方法,你也可以去掉点并使用后缀运算符表示法:
scala> val s = "Hello, world!"
s: java.lang.String = Hello, world!
scala> s toLowerCase
res4: java.lang.String = hello, world!
但是这里<方法不是那种不需要参数的方法吧?
你能告诉我这是什么用法吗?
【问题讨论】:
-
我不认为它是重复的。链接的问题是关于函数的不同语法选项,这个是反过来的,导致给定的语法错误。
标签: scala