Scala:替代列表语法(如果可能,使用方括号)
Scala中是否有替代的“List”语法?
是否可以定义一个名为'[‘和’]’的aditional类/类型/运算符*? 我知道’方括号’用于表示类型,但它们对于声明列表的重复性任务是完美的. 一个 ‘;’要么 ‘?’作为最后的资源,也会很好. 谢谢 实验值: val list = 1 :: 2 :: 3 :: Nil 但它根本不会减少任何键输入. >我仍然在Scala中学习这些东西 编辑: 编辑2: 实现对象类型: 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]) = { 12 } } 解决方法
[和]是Scala中用于类型注释的保留符号.您不能将它们用于列表. ;保留给行尾.你可以用?在许多情况下,但它会很尴尬.
我建议你学习使用:: notation(并习惯连续两次输入:symbol),因为它确实使列表操作在视觉上清晰,而且它是一个很好的语法提示,列表很奇怪,因为你放东西在列表的头上. 但是,如果你不能容忍这一点,你最好的选择可能是定义一个单字母的列表符号.例如, List(1,2,3,4) 是1到4之间的数字列表.如果您只能键入L而不是列表,该怎么办?事实证明,你可以,因为这不是一个花哨的构造函数或静态方法,而是类List的单例伴随对象.所以你只是 val L = List L(1,4) 而你只是一个比你的括号建议更糟糕的人物. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |