【问题标题】:Ruby: access to array element hintRuby:访问数组元素提示
【发布时间】:2009-11-17 23:47:01
【问题描述】:

我有一个大的二维数组A,还有一个包含两个元素的平面数组B。如何使用B 中的数字(坐标)快速访问A 数组中的元素?我现在唯一能做的就是:

A[B[0],B[1]]

但是通过我的班级成员的名字到这些实际数组的路径太长太脏了,实际的数组名也太长了......所以我想知道它是否可以减轻这项工作。

【问题讨论】:

  • 那将是一个数组切片,而不是二维查找。

标签: ruby arraylist


【解决方案1】:
x = B[0]
y = B[1]
A[x][y]

【讨论】:

  • 如果你喜欢这种方式,前两行可以进一步折叠成x,y = B
【解决方案2】:

将 A 转换为以二元素数组为键的 Hash 怎么样?所以你现在有这样的东西:

A = [["TopL","TopR"],["CenterL","CenterR"],["BottomL","BottomR"]]
B = [[0,1],[1,0],[2,1]]
A[B[x][0]][B[x][1]]

你应该有:

A = {[0,0] => "TopL", [0,1] => "TopR", [1,0] => "CenterL", [1,1] => "CenterR", [2,0] => "BottomL", [2,1] => "BottomR"}
B = [[0,1],[1,0],[2,1]]
A[B[x]]

不知道这对你的实际情况是否有帮助,但也许它会给你一些想法。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多