2013-07-12 4 views
-4
def foo(val) 
{ 
    one: [["one1", "1"]], 
    two: [ 
     ["two1", "1"], 
     ["two2", "2"]], 
}[val] 
end 

Я хочу получить «два1» от «1», как это сделать?Как получить строку из двумерного массива

Примечания: Я хочу сделать [: два] [ «1»]

+0

Вы хотите только первые оны из двух результатов вы получаете с: два? – NicoSantangelo

+0

Что вы подразумеваете под символом 'val =" two "и" 1 "'? – sawa

+0

То, что я имел в виду, я передаю два аргумента (т. Е. «Два», «1» ИЛИ «один», «1») – Sam

ответ

2
def foo(v1, v2) 
    hsh = { 
    'one' => [["one1", "1"]], 
    'two' => [ ["two1", "1"], 
     ["two2", "2"] ], 
    } 
    hsh[v1].select{|i| i[0] == (v1 + v2) && v2 == i[1] }.first.first 
end 
Смежные вопросы