Tableau Ruby à la conversion de chaîne

J’ai un tableau de rbuy comme ['12','34','35','231'] .

Je veux le convertir en une chaîne comme '12','34','35','231' .

Comment puis je faire ça?

Je vais m’amuser avec:

 ['12','34','35','231'].join(",") 

MODIFIER:

 "'#{['12','34','35','231'].join("','")}'" 

Interpolation de chaîne pour append la première et dernière citation simple: P

 > a = ['12','34','35','231'] > a.map { |i| "'" + i.to_s + "'" }.join(",") => "'12','34','35','231'" 

essayez ce code ['12','34','35','231']*","

vous donnera le résultat “12,34,35,231”

J’espère que c’est le résultat que vous, faites le moi savoir

 array.map{ |i| %Q('#{i}') }.join(',') 
 ssortingng_arr.map(&:inspect).join(',') # or other separator 

Je trouve cette façon lisible et rbuy:

 add_quotes =- > x{"'#{x}'"} p ['12','34','35','231'].map(&add_quotes).join(',') => "'12','34','35','231'" 
 > puts "'"+['12','34','35','231']*"','"+"'" '12','34','35','231' > puts ['12','34','35','231'].inspect[1...-1].gsub('"',"'") '12', '34', '35', '231' 

Et encore une autre variation

 a = ['12','34','35','231'] a.to_s.gsub(/\"/, '\'').gsub(/[\[\]]/, '') 
 irb(main)> varA => {0=>["12", "34", "35", "231"]} irb(main)> varA = Hash[*ex.collect{|a,b| [a,b.join(",")]}.flatten] ... 
 irb(main):027:0> puts ['12','34','35','231'].inspect.to_s[1..-2].gsub('"', "'") '12', '34', '35', '231' => nil 

Vous pouvez utiliser une approche de functional programming en transformant des données:

['12','34','35','231'].map{|i| "'#{i}'"}.join(",")

La méthode la plus simple serait d’utiliser la jointure et de la convertir en un entier.

  array.join.to_i 

array.inspect.inspect.gsub(/\[|\]/, "") pourrait faire l’affaire