2016-04-02 14 views
-2
wordSort.sort! 

=begin 
Conditional is performed on the array: if array index is equal to zero or has 
a remainder of zero after being divided by 2 then call upcase method on element. 
Else call lowercase method on that index number. 
=end 

puts "" 

puts "Here are the words you entered:" 

puts wordSort 
+0

Haben Sie eine Zeichenfolge oder ein Array zurückgeben möchten? Wenn eine Zeichenfolge vorhanden ist, enthält die Beschreibung des Problems die implizite Annahme, dass die Zeichenfolge in ein Array von Wörtern konvertiert werden muss, ändert Fälle und fügt die Elemente des Arrays wieder in eine Zeichenfolge ein. Es macht mehr Sinn, direkt an der Saite zu arbeiten. Wenn Sie ein Array zurückgeben möchten, kann die Zeichenfolge vor oder nach der Änderung der Groß-/Kleinschreibung in ein Array oder Wörter aufgeteilt werden. –

+1

Hausaufgabe ohne irgendeinen Versuch zu beweisen. –

+0

Eine der Konventionen von Ruby ist die Verwendung von "snake case" für Namen von Variablen und Methoden. Solche Namen beginnen mit einem Kleinbuchstaben, gefolgt von Kleinbuchstaben, Ziffern und Unterstrichen. Zum Beispiel würden Sie 'word_sort' anstelle von' wordSort' schreiben. Du musst die Konvention nicht akzeptieren, aber 99% der Rubies machen es. –

Antwort

1
enum = [:upcase, :downcase].cycle 
    #=> #<Enumerator: [:upcase, :downcase]:cycle> 
"Here are the words you entered:".gsub(/\w+/) { |x| x.send enum.next } 
    #=> "HERE are THE words YOU entered:" 
+0

Vielen Dank für die Antwort. – BlackArchMagusVidar

Verwandte Themen