[英]Replace Square Brackets with parentheses in Ruby
使用Ruby 1.9。
我有一個數組[1,2,3]
我需要將其轉換為格式('1', '2', '3')
,以便將其應用到SQL查詢(IN語句)中,並且數據庫是MySQL。 請提出一些好的解決方案。
謝謝 :)
查看上面的評論並不確定您仍然要這樣做,只是為了好玩:
"('#{ [1,2,3].map(&:to_s).join("\',\'") }')"
#=> "('1','2','3')"
更新:基於@tadman的評論
假設這里的SQL實現是一些偽代碼:
irb(main):003:0> array = [1,2,3,4]
=> [1, 2, 3, 4]
irb(main):004:0> array.map{|id| "$#{id}"}.join(",")
=> "$1,$2,$3,$4"
irb(main):011:0> ["SELECT * FROM table WHERE id IN (#{array.map{|id| "$#{id}" }.join(',')})", array]
=> ["SELECT * FROM table WHERE id IN ($1,$2,$3,$4)", [1, 2, 3, 4]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.