Транслитерирование символов в рубине
У меня есть некоторые условия, которые я использую, чтобы заменить одну строку другой.
Например:
if word == "for"
word = "4"
Но что я действительно хочу, так это условие:
if word == "for" || word == "FOR" || word == "For" || word == "foR" || word == "FoR" #etc etc
word = "4"
Я не могу найти что-нибудь о том, как это сделать. Должен быть краткий способ написать это с помощью Ruby. У кого-нибудь есть предложения?
3 ответа
Решение
Ты можешь использовать casecmp
сделать сравнение без учета регистра:
if word.casecmp("for") == 0
word = "4"
end
Ты можешь использовать downcase
метод:
if word.downcase == 'for'
word = '4'
end
Я использую Regexp#===
метод.
if /\Afor\z/i === word
word = "4"
end