Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
272 views
in Technique[技术] by (71.8m points)

ruby - How can I capitalize a letter from a word one at a time, then add each instance of the word with a caps letter into a array?

My code:

def wave(str)
  ary = []
  increase_num = 0
  str = str.chars
  until increase_num > str.size
   ary << str[increase_num].upcase && increase_num += 1
  end
end

What it's supposed to do:

wave("hello") => ["Hello", "hEllo", "heLlo", "helLo", "hellO"]

I would really appreciate some help, as you probably know by looking at it I'm relatively new.

question from:https://stackoverflow.com/questions/65887477/how-can-i-capitalize-a-letter-from-a-word-one-at-a-time-then-add-each-instance

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
str = "hello"
str.size.times.map { |i| str[0,i] << str[i].upcase << str[i+1..] }
  #=> ["Hello", "hEllo", "heLlo", "helLo", "hellO"]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...