ruby - Print out multiple words with alternating uppercase and lowercase -


i cannot run code.

i want write down 50 words, words [0,2,4,6,8,...] uppercase , odd words lowercase.

what other ways of writing code there? should start new array , have index = []?

words = []  50.times    puts "please enter word:"     words << gets.chomp end  puts "these wonderful words. smart. keep up."  %w(words).each_with_index {|word, index|} if index = word.even?         puts word.upcase if index = word.odd?         puts word.downcase  end 

you can't use %w(words):

words # => ["a", "b"] %w(words) # => ["words"] 

%w(...) converts every space-delimited string of characters separate string element in array:

%w(a 1) # => ["a", "1"] 

you can't interpolate words variable array way. there no reason to, you'll have array of string elements in words array since you've said it's an array using:

words = [] 

and

words << gets.chomp 

this not code:

if index = word.even?         puts word.upcase if index = word.odd?         puts word.downcase 

you can't test equality using =. instead assigning. ruby not interpreted basic:

a = 1 # => 1 == 2 # => false 

you can't word.even? or word.odd? because words aren't or odd, integers are.

1.even? # => false 1.odd? # => true 'foo'.even? # =>   # ~> -:3:in `<main>': undefined method `even?' "foo":string (nomethoderror) 

also, you'd need use closing end statements.

corrected like:

if index.even?   puts word.upcase end if index.odd?   puts word.downcase end 

but can written more succinctly , clearly:

folded_word = if index.even?                 word.upcase               else                 word.downcase               end  puts folded_word 

Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

jquery - javascript onscroll fade same class but with different div -