Я хочу изменить:Как сделать строку 1-го буквенных колпачков, 2-х буквенных незакрытых, 3-х буквенных колпачков, 4-х буквенных незакрытых ...?
word = "Stackoverflow is awesome!"
в:
"StAcKoVeRfLoW Is aWeSoMe!"
я сделал:
result = ""
a = word.length
odd = (1..a).select(&:odd?)
even = (1..a).select(&:even?)
odd.each {|i| even.each {|b| result += word[b].to_s}}
result # => "akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!akvrlwi wsm!"
Я вижу некоторые ошибки в вашем коде: 1. Вы хотите превратить некоторые символы вашей строки 'word' в символы верхнего разряда, но вы никогда не вызываете метод' String # upcase' в вашем скрипте. 2. Вы добавляете к переменной 'result' символы, которые хотите изменить, но вы забыли добавить те, которые не нуждаются в модификации. 3. В строке 'odd.each {| i | even.each {| b | result + = word [b] .to_s}} 'вы выполняете« нечетные * итерации ». Имейте в виду, что 'word'variable имеет длину' odd + even'. Надеюсь, это поможет вам найти решение! –