我正在嘗試設定此代碼以檢查陣列中是否存在特定名稱。在這種情況下,我想查看 Fred 是否在串列中,如果不在,請在下方輸入“姓名不在串列中”。
friends = Array["Kevin", "Karen", "Oscar"]
if (puts friends.include? "Fred" == false)
puts ("Name wasn't on the list")
end
我是 ruby?? 新手,所以我不確定這是否是正確的方法。任何幫助,將不勝感激。
uj5u.com熱心網友回復:
friends = Array["Kevin", "Karen", "Oscar"]
這沒有錯,只是做得過火了。friends = ["Kevin", "Karen", "Oscar"]很好。
if (puts friends.include? "Fred" == false)
puts ("Name wasnt on the list")
end
這if (puts friends.include? "Fred" == false)條線看起來很無辜,但包含驚人數量的錯誤,最重要的是puts總是回傳nil。此版本有效:
unless friends.include? "Fred"
puts "Name wasnt on the list"
end
uj5u.com熱心網友回復:
您也可以使用puts "Name wasn't on the list" unless friends.include? (name), 在這里以一種簡單的方法:
def name_on_list(friends, name)
puts "Name wasn't on the list" unless friends.include?(name)
end
friends = ["Kevin", "Karen", "Oscar"]
name_on_list(friends, "Fred")
您可以從陣列宣告中洗掉“陣列”。
該函式將朋友和名稱作為引數。
在函式中,當不包含名稱時,我使用單行列印文本。我傾向于使用括號來傳遞引數,但它們是可選的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/516599.html
上一篇:按哈希中的特定陣列值分組并包含鍵
下一篇:合并一個Ruby哈希陣列
