【发布时间】:2015-08-02 07:54:23
【问题描述】:
val arr = Array.fill[String](6, 6)("dark")
不安全的获取:
arr(9)(9)
>java.lang.ArrayIndexOutOfBoundsException: 9
我使用类似的东西(但丑陋):
arr.lift(2).flatMap(_.lift(2))
>res0: Option[String] = Some(dark)
有没有更好的办法?
【问题讨论】:
-
定义一个
safeGet[T](x:Int, y:Int):Option[T],使用任何你喜欢的代码(一个明确的数组边界检查可能是最清楚的),然后使它成为一个对数组的隐式操作。那么丑就在一个地方……
标签: scala multidimensional-array collections