以下是与我合作的问题:
add_item方法应该有两个参数。第一个参数是要添加到列表中的项目,第二个参数是要添加项目的数组(即列表)。如果列表中已存在项目,则不要将该项目添加到列表中。
这是我到目前为止的代码,它一直给我一个未定义的局部变量'错误。
list = Array.new
list = [milk, eggs, oj, bacon]
def add_item(item, list)
if list.include?(item)
puts "item is already on list"
else list.push(item)
end
end
add_item(milk, list)
答案 0 :(得分:0)
milk
,eggs
,oj
和bacon
都是变量,但您没有显示定义。你可以把它们作为字符串,例如
list = ["milk", "eggs", "oj", "bacon"]
# or a shorthand
list = %w{milk eggs oj bacon}
add_item("milk", list)
或符号
list = [:milk, :eggs, :oj, :bacon]
# or a shorthand
list = %i{milk eggs oj bacon}
add_item(:milk, list)
在这种情况下,选择哪一个并不重要,但如果成分名称可以包含特殊字符或空格,则使用字符串会更容易。
而不是:
else list.push(item)
end
你应该将list.push(item)
放在空行上。