Scala 中是否有替代的“列表”语法?是否可以定义一个名为“[”和“]”的附加类/类型/运算符*?
我知道“方括号”用于表示类型,但它们非常适合声明列表的重复任务。
一种 ';' 或者 '?' 作为最后的资源也会很好。
谢谢
obs.:经过大量搜索,我发现唯一的选择是使用“缺点”:
val list = 1 :: 2 :: 3 :: Nil
但它根本不会减少任何键输入。
- 我还在 Scala 中学习这些东西
编辑:只是为了澄清:在我的情况下,性能不是优先事项。是的,不欢迎换班。:P 幕后动机:我喜欢 Haskell 风格,但不能直接在 Java 中使用。
编辑 2:基于两种 Rex Kerr 解决方案的最终解决方案
实现对象类型:
package a
object Types {
type \[z] = List[z]
implicit def make_lists[A](z: A) = new ListMaker(z)
class ListMaker[A](a0: A) {
private[this] val buffer = List.newBuilder[A]
buffer += a0
def \(z: A) = {
buffer += z;
this
}
def \\ = buffer.result
}
}
使用对象类型:
package a
import a.Types._
object Whatever {
def listInListOut (l: \[Int]) = {
1\2\\
}
}