#ruby #string #include
#ruby #строка #включить
Вопрос:
Как бы я напечатал желаемый результат, который я разместил в комментарии в конце моего кода?
string = "matthews"
# letters = string.split(//) NOT USING
letter_guess = "t"
if string.include? letter_guess
print "its there"
else
print "its not"
end
# I would then like to ouput this!! --tt----
Ответ №1:
На самом деле это довольно просто, если вы просто замените все отсутствующие буквы:
if (string.include?(letter_guess))
puts "It's there: %s" % string.tr('^' letter_guess', '-')
else
puts "It's not there."
end
tr
Метод очень хорош при удалении или изменении элементов для каждого символа. В этом случае он заменяет все буквы, которые не ( ^
) совпадают с -
.
Комментарии:
1. потрясающе. Спасибо! Что, если мне нужно передать это значение обратно в массив букв внутри строки… Например, если бы у меня был
2. потрясающе. Спасибо. Что, если мне нужно, чтобы это значение было передано обратно в массив той же длины, что и строка, состоящая из символов «-«? Вместо того, чтобы передавать их непосредственно в строку… итак, если бы это была строка = «great» и буква была r, она бы напечатала [«-«, «r», «-«, «-«, «-«]
3. @RobMatthews Учитывая любую строку, вы можете легко извлечь из нее символы:
s.chars