Ruby: доступ к подсказке элемента массива - PullRequest
0 голосов
/ 18 ноября 2009

У меня есть большой двумерный массив A, а также плоский массив B из двух элементов. Как я могу быстро получить доступ к элементу из массива A, используя числа (координаты) в B? Единственное, что я могу сейчас сделать, это:

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

Но путь к этим фактическим массивам через имена членов моего класса слишком длинный и грязный, а фактические имена массивов слишком длинные ... поэтому я задаюсь вопросом, возможно ли облегчить работу.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2009
x = B[0]
y = B[1]
A[x][y]
0 голосов
/ 18 ноября 2009

Как насчет превращения A в хэш с двухэлементными массивами в качестве ключей? Итак, где у вас сейчас есть что-то вроде этого:

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]]

Не знаю, поможет ли это в вашей реальной ситуации, но, возможно, это даст вам некоторые идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...