将项目添加到 "grocerylist" 数组的程序?
Program which will add items to a "grocerylist" array?
这是我正在处理的问题:
add_item 方法应该有两个参数。第一个参数是要添加到列表中的项目,第二个参数是项目将添加到的数组(即列表)。如果项目已存在于列表中,则不要将其添加到列表中。
这是我目前的代码,它一直给我一个 'undefined local variable' 错误。
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)
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)
放在空行上。
这是我正在处理的问题:
add_item 方法应该有两个参数。第一个参数是要添加到列表中的项目,第二个参数是项目将添加到的数组(即列表)。如果项目已存在于列表中,则不要将其添加到列表中。
这是我目前的代码,它一直给我一个 'undefined local variable' 错误。
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)
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)
放在空行上。