1

我认为解释这个问题的最好方法是举例。这是一个带有哈希的简单方法:

def getValues(table)
    allColumns = {
       'User' => ['first_name', 'last_name'],
       'Vehicle' => ['make', 'model', 'id'],
    }
end

我正在尝试传入表格并根据该表格返回一系列值。我想知道什么是(性能方面)实现这一目标的最佳方法。是否使用 switch 语句、if/else 或某种循环?如果您想出答案,请提供一个示例,以便我更好地理解。

4

1 回答 1

0

我建议你先重命名参数,也许table_name是更描述性的东西。
其次,ruby 中的一种约定是使用由 分隔的方法名称_,并避免使用 camelCase 作为另一种语言。
第三,我会将列表放在一个常量变量或其他东西上,然后在方法中引用它。

然后,您可以仅使用hash[key].

LIST = {
  'User' => ['first_name', 'last_name'],
  'Vehicle' => ['make', 'model', 'id'],
}

def get_values(table_name)
  LIST[table_name]
end

按键哈希查找可能是您可以对集合执行的最高性能操作之一,因此无需担心。

于 2013-08-20T18:47:35.767 回答