val Array(direction, value, power, type, zone) = Array(1, 2, 3, 4, 5)
有没有办法从一些引用中引用Array(1,2,3,4,5),我们可以用它来执行其他数组操作,比如迭代数组等。
我想使用方向,值,功率,类型,区域,因为它们更有意义,而不是使用arr(0),arr(1)等...除了在数组上进行常规操作
答案 0 :(得分:2)
如果你想让对象拥有它所包含的值的有意义的访问器,我建议只使用一个case类:
case class MyDataClass(direction: Int, values: Int, power: Int, type: Int, zone: Int)
val d = MyDataClass(1, 2, 3, 4, 5)
val dir = d.direction
要像使用传统数组一样使用它,我会将隐式转换添加到Array[Int]
答案 1 :(得分:2)
您可以按如下方式定义数组:
val arr @ Array(direction, value, power, t, zone) = Array(1, 2, 3, 4, 5)
通过这种方式,您可以将arr
用作普通数组,而使用其他有意义的数据"瓦尔斯。
请注意,我将type
更改为t
,因为第一个是该语言的保留字。
答案 2 :(得分:1)
正常存储数组,然后将def
元素作为索引存入数组。
val array = Array(1,2,3,4,5)
def direction = array(0)
// etc.
这仍然适用于其他方法,因为Scala允许方法中的方法。
答案 3 :(得分:0)
我在这里遗漏了什么吗?为什么不做呢
val arr = Array(1, 2, 3, 4, 5)`
然后在需要时将各个元素(arr(0)
,arr(1)
等)下标?