#ruby
#ruby
Вопрос:
Я работаю с методом «any?» в блоке. Фрагмент ищет строку «CA» в проверке строки (разделения):
region="CA"
check="AU,US,UK,CA,ZA"
if check.split(',').any? { |r| region[r] }
puts "This is true!"
end
Я знаю, как работает команда «any?» чего я не понимаю, так это почему region [r] принимает значение true, когда значение r равно «CA» — таким образом, у нас есть region [«CA»], дающий нам true!
Я вижу, что «CA» [«CA»] истинно, но почему? Здесь мне не хватает некоторых знаний.
Ответ №1:
Из строковых методов [] и slice,http://www.ruby-doc.org/core-1.9.2/String.html#method-i-5B-5D
str[other_str] → new_str or nil str.slice(other_str) → new_str or nil If a String is given, that string is returned if it occurs in str.
Комментарии:
1. Прохладный. Итак, я действительно могу иметь: если проверить [region], то завершается «cool»