我认为解释这个问题的最佳方式是举例。这是一个带哈希的简单方法:
def getValues(table)
allColumns = {
'User' => ['first_name', 'last_name'],
'Vehicle' => ['make', 'model', 'id'],
}
end
我试图传入表并基于该表返回一系列值。我想知道(性能方面)实现这一目标的最佳方法。它是否使用switch语句,if / else,某种循环?如果你想出答案,请尽量包括一个例子,以便我能更好地理解。
答案 0 :(得分: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
按键进行哈希查找可能是您可以对集合执行的最高性能操作之一,因此无需担心它。