场景:方法以这种方式接受参数
def my_method(model_name, id, attribute_1, attribute_2)
# ...
end
所有参数都是未知的,所以我从对象的类名中获取模型名称,我从该类中获取的属性作为数组返回。
问题:我有一个数组["x", "y", "z"]
。我需要从每个数组中取出项目并将它们传递到模型之后的方法参数中,如上所示。
是否可以删除括号"从一个阵列可以这么说,但保持物品和他们的顺序?
答案 0 :(得分:7)
是的,只需在数组前使用*
:
my_method(model_name, *["x", "y", "z"])
它将导致:
my_method(model_name, "x", "y", "z")
答案 1 :(得分:1)
简单的方法是:
data = ["x", "y", "z"]
id_var = data[0]
attribute_1 = data[1]
attribute_2 = data[2]
my_method(model_name, id_var, attribute_1, attribute_2)
漫长的道路:
my_method(model_name, *["x", "y", "z"])
但最好和最聪明的方式是提出Stefan和Lukasz Muzyka:
cursor2 = conn.cursor()
cursor3 = conn.cursor()
cursor4 = conn.cursor()