padTo 예제이다. 컬렉션의 길이만큼 없는 데이터는 디폴트 값으로 채운다. 


List("a", "b", "c").padTo(5, "-")

res0: List[String] = List(a, b, c, -, -)




리스트의 특정 데이터의 개수를 꼭 채워야 하는 경우가 있다. 로그 저장시 데이터가 없다고 해서 그냥 두기 보다 디폴트 값같은 개념을 둔다고 생각한다.


padTo를 적용한 Log case 클래스 예제이다. 




scala> case class Log(tokens: List[String]) {

     | val z1 = tokens(0)

     | val z2 = tokens(1)

     | val z3 = tokens(2)

     | val z4 = tokens(3)

     | val z5 = tokens(4)

     | }

defined class Log



scala> val l = new Log(List("a", "b", "c").padTo(5, "-"))

l: Log = Log(List(a, b, c, -, -))


scala> l.z1

res4: String = a


scala> l.z2

res5: String = b


scala> l.z3

res6: String = c


scala> l.z4

res7: String = -


scala> l.z5

res8: String = -



Posted by '김용환'
,