我正在尝试设置此代码以检查数组中是否存在特定名称。在这种情况下,我想看看弗雷德是否在名单上,如果没有,就把";名字不在名单上"在下面
friends = Array["Kevin", "Karen", "Oscar"]
if (puts friends.include? "Fred" == false)
puts ("Name wasn't on the list")
end
我是ruby的新手,所以我不确定这是否是正确的方法。如有任何帮助,我们将不胜感激。
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
您也可以使用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")
您可以删除";数组";来自数组声明。
函数将朋友和名称作为参数。
在函数中,当不包括名称时,我使用单行打印文本。我倾向于使用括号来传递参数,但它们是可选的。