これで、いくつかの休日に表示されるように(たとえば、four_of_july)、アンダースコアを削除しようとしています。次に、それぞれの単語を大文字にしたいと思います。Ruby - アンダースコアを削除して大文字にする
期待される結果:fourth_of_july 7月
の>第四には、そう、これは私のコードです:あなたは
str.split('_').map(&:capitalize).join(' ')
この1つのライナーを使用することができます
holiday_dec = {
:winter => {
:christmas => ["Lights", "Wreath"],
:new_years => ["Party Hats"]
},
:summer => {
:fourth_of_july => ["Fireworks", "BBQ"]
},
:fall => {
:thanksgiving => ["Turkey"]
},
:spring => {
:memorial_day => ["BBQ"]
}
}
def all_supplies_in_holidays(holiday_hash)
holiday_hash.each do |seasons, holidays|
holidays.each do |holidays, supplies|
puts "#{seasons.to_s.capitalize}:"
puts " #{holidays.to_s.tr("_"," ").capitalize}: #{supplies.join(", ")}"
end
end
end
all_supplies_in_holidays(holiday_dec)
を使用することができますか? –