如何使用迭代器创建实例变量

How to create instance variables with iterator

我在学校有一个实验室,我需要创建一个包含篮球队属性、球队名称、教练、控球后卫等的表格,我想知道是否有任何方法可以动态创建实例变量和使用某种迭代器而不是对它们进行硬编码的符号?

这是我的意思的硬编码版本:

post "/team" do
  @name = params["name"]
  @coach = params["coach"]
  @pg = params["pg"]
  @sg = params["sg"]
  @pf = params["pf"]
  @sf = params["sf"]
  @c = params["c"]
  erb :team
end

我想使用类似这样的东西:

post '/team' do
  params.each do |parameter|
    @[parameter] = params["#{parameter}"]
  end
  erb :team
end

当我 运行 上面的代码时,我收到一个意外的输入结束语法错误。

尝试使用instance_variable_set, 像这样:

post '/team' do
  params.each do |key, value|
    self.instance_variable_set("@#{key}", value)
  end
  erb :team
end