Ruby: взять N-й элемент из массива, если он существует (в 1 строке кода)? - PullRequest
0 голосов
/ 27 ноября 2010

Я анализирую HTML.Например:

country_code = data.match(/Country Abbrev. : ([A-Z]{2})/)[1]

Это самый короткий способ получить искомое значение.Однако что делать, если данные не найдены (ноль), и я запрашиваю второй элемент массива, который не существует?

Что я хочу сделать: если возвращаемый объект не является массивом вкак минимум два элемента, country_code должен быть nil, в противном случае country_code = array [1].

Каков наилучший способ решить эту проблему?Может быть, в Ruby есть лучший способ справиться с такого рода поисками регулярных выражений, когда вам нужно ровно одно значение?

1 Ответ

0 голосов
/ 27 ноября 2010

Если я правильно вас понял, этот код делает то, что нужно:

country_code = data.match(/Country Abbrev. : ([A-Z]{2})/).to_a[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...