从符号数组中获取元素

时间:2014-09-02 21:50:34

标签: ruby

我有一系列符号,我试图从中获取一个符号,或者如果找不到则返回nil

plugins = [:one, :two, :three]
def resolve_plugin(name)
  plugins[:"#{name}_plugin"]
end

当我致电resolve_plugin(:one)时,我得到TypeError: no implicit conversion of Symbol into Integer。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

Array将索引映射到对象,因此您可以通过索引访问它,而不是按值访问:

plugins = [:one, :two, :three]

plugins[0] # => :one
plugins[2] # => :three