2016-09-21 2 views
-5

Ich habe ein Array wiebenötigen Rubin Array Klammern

Array = ["1","2","3"] 

Und ich brauche zur Folge haben wie

"1,2,3" 

Wie kann ich vorgehen entfernen?

+1

Wollen Sie das Array so drucken? – Thilo

+1

was Sie wollen, ist kein Objekt. –

+0

Versuchen Sie ["1", "2", "3"]. Map {| val | "'# {val}'"} .join (',') – Sambit

Antwort

0

Sie erwarten String?

array = ["1","2","3"] 

new = array.join(',') 
#=> "1,2,3" 
+0

Enthält keine Anführungszeichen um die einzelnen Elemente oder das nachgestellte Komma. – Thilo

1

Der Name dieser Operation besteht darin, ein Array in eine Liste zu konvertieren.

array = ["1","2","3"] 

*array 

Hovewer es ist schwer zu zeigen, weil Sie keine Listen in irb drucken:

Es kann durch Splat-Operator (*) erfolgen.

ODER

Sie wollen einfach nur das Array mit zusätzlichen Klammern drucken. Wenn dem so ist, könnte diese Codezeile helfen:

array = ["1","2","3"] 

print array.map{ |item| "\"#{item}\"" }.join(', ') 

Es fügt Klammern (durch Symbol " entweichenden) zu jedem Element-Array und dann schließt sich die Elemente durch Komma.

0
> puts array.join(',').gsub(/(\d)/, '\'\1\'') 
#=> '1','2','3'