Ich möchte ändern:Wie man eine Schnur macht 1. Briefkappen, 2. Brief nicht caps, 3. Briefkappen, 4. Brief noncaps ...?
word = "Stackoverflow is awesome!"
in:
"StAcKoVeRfLoW Is aWeSoMe!"
ich getan habe:
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!"
Ich sehe einige Fehler in Ihrem Code: 1. Sie möchten einige Zeichen Ihrer 'word' Zeichenfolge in upcase Zeichen, aber Sie rufen nie die Methode' String # upcase' in Ihrem Skript. 2. Sie fügen der Variablen 'result' nur die Zeichen hinzu, die Sie ändern möchten, aber Sie haben vergessen, diejenigen hinzuzufügen, die nicht geändert werden müssen. 3. In der Zeile 'odd.ach {| i | even.each {| b | result + = word [b] .to_s}} 'du führst gerade 'ungerade * Iterationen durch. Beachten Sie, dass die Wortvariable von der Länge "ungerade + gerade" ist. Hoffe das hilft dir deine Lösung zu finden! –