【发布时间】:2018-02-12 12:16:27
【问题描述】:
我需要根据 id 数组生成一个字符串。
数组
["5d227c01-93dc-4f0b-abca-2f1686b6f15c", "71c20c13-ddda-4177-ac9b-cf4096577450"]
所以这个数组显然可以是任何东西,但我需要获取每个元素并生成一个看起来像这样的字符串。
字符串
"ManagerID='5d227c01-93dc-4f0b-abca-2f1686b6f15c' OR ManagerID='71c20c13-ddda-4177-ac9b-cf4096577450'"
我发现这很难,因为我必须在每个 ID 之后添加 OR,但不是在最后一个之后添加,如果只有 1 个 ID,则没有
看起来像这样
代码
def normalized_manager_ids
if manager_id_list.count <= 1
"ManagerID='#{manager_id_list.first}'"
else
manager_id_list.map do |id|
# GENERATE STRING HERE BASED ON HOW MANY IDS THERE ARE
end
end
end
【问题讨论】:
-
您是否正在尝试构建数据库查询?
-
请注意,如果数组为空,您的示例代码将返回
"ManagerID=''"。 -
什么是
manager_id_list?推测它是一种方法,因为它不是该方法的参数。数组可以包含零个、一个或两个以上的元素,还是总是两个? -
当你给出一个例子时,为每个输入对象分配一个变量是有帮助的(例如,
arr = ["5d227c01-93...])。这样,读者可以在答案和 cmets 中引用这些变量,而无需定义它们。当然,没有必要将变量分配给预期返回值的对象。
标签: ruby-on-rails arrays ruby