2016-04-02 12 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

upcase her söz bir dize veya bir dizi dönmek istiyor musunuz? Bir dize, sorunun açıklamasında, dizeyi bir sözcük dizisine dönüştürmenin gerekli olduğunu ima eden örtük varsayımı içerdiği için, durumları değiştirir, ardından dizinin öğelerini bir dizeye geri ekler. Dize üzerinde doğrudan çalışmak daha mantıklı. Bir dizi döndürmek isterseniz, dize, duruma göre değişikliklerden önce veya sonra bir diziye veya sözcüklere bölünebilir. –

+1

Ev ödevi sorusu, herhangi bir girişimi kanıt olmadan. –

+0

Ruby'nin sözleşmelerinden biri, değişkenlerin ve yöntemlerin isimleri için "snake case" kullanmaktır. Bu isimler küçük harfle başlamalı, ardından küçük harfler, rakamlar ve altçizgi ile başlamalıdır. Örneğin, "wordSort" yerine "word_sort" yazarsınız. Sözleşmeyi kabul etmek zorunda değilsiniz, ancak Rubiestlerin% 99'u yapar. –

cevap

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

Yanıt için teşekkür ederiz. – BlackArchMagusVidar