簡體   English   中英

用Ruby中的括號替換方括號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM