0
下面的程序是爲了遍歷holiday_hash,利用所有鍵和值,並把他們出去:Ruby程序沒有按預期執行?如果塊執行,儘管失敗的情況
def all_supplies_in_holidays(holiday_hash)
holiday_hash.each do |key, value|
key_string = key.to_s
key_string.capitalize!
puts "#{key_string}:"
value.each do |key2, value2|
if key2 == :new_year || :fourth_of_july || :memorial_day
key_to_string = key2.to_s
key_string1 = key_to_string.split
final_array = []
key_string1.each do |splitted_string|
final_array = splitted_string.capitalize!
end
final_string = final_array.join(" ")
print "#{final_string1}:"
else
key_string1 = key2.to_s
print "#{key_string1}"
end
value2.each do |array_value|
new_array_capitalized = []
new_array_capitalized << array_value.capitalize!
new_array.join(" ")
end
end
end
end
預期的輸出格式爲:
Winter:
Christmas: Lights, Wreath
New Years: Party Hats
Summer:
Fourth of July: Fireworks, BBQ
Fall:
Thanksgiving: Turkey
Spring:
Memorial Day: BBQ
該holiday_hash如下:
{
:winter => {
:christmas => ["Lights", "Wreath"],
:new_years => ["Party Hats"]
},
:summer => {
:fourth_of_july => ["Fireworks", "BBQ"]
},
:fall => {
:thanksgiving => ["Turkey"]
},
:spring => {
:memorial_day => ["BBQ"]
}
}
的問題是:
- 即使條件未能評估爲true,if塊也會執行。
建議需要:
- 我怎麼能簡化資本誰在他們兩個單詞符號的過程,如:new_york資本化到紐約? (由於#capitalised方法將返回紐約)
好吧..但爲什麼呢?我不知道發生了什麼事。我現在更加困惑..很抱歉,這不是因爲你的回答,而是你剛剛指出的事實。你能否進一步解釋爲什麼會發生這種情況? –
@ZeeshanShafqat對不起,我還在寫我的答案,再次檢查。 – Stefan