如何在Scala中确保Seq
具有一定的最小长度?
以下代码执行我想要的操作(在arr
有三个条目之前添加空字符串),但感觉很笨拙。
scala> val arr = Seq("a")
arr: Seq[String] = List(a)
scala> arr ++ Seq.fill(3-arr.size)("")
res2: Seq[String] = List(a, "", "")
实现这一目标的一种方法是两个序列的合并:从第一个开始,但是如果它用尽,则从第二个继续。什么是这样的方法叫做??
答案 0 :(得分:1)
我发现这稍微好一些:
scala> (arr ++ Seq.fill(3)("")).take(3)
res4: Seq[String] = List(a, "", "")
甚至更好,谢谢@ thomas-böhm
scala> arr.toArray.padTo(3,"")
res5: Array[String] = Array(a, "", "")
答案 1 :(得分:0)
arr.padTo(3,"")
这太微不足道了。