Ruby array naar string conversie

Ik heb een ruby-array zoals ['12','34','35','231'].

Ik wil het converteren naar een tekenreeks zoals '12','34','35','231'.

Hoe kan ik dat doen?


Antwoord 1, autoriteit 100%

Ik doe mee met:

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

BEWERKEN:

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

Enkele string-interpolatie om het eerste en laatste enkele aanhalingsteken toe te voegen 😛


Antwoord 2, autoriteit 13%

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

Antwoord 3, autoriteit 10%

probeer deze code ['12','34','35','231']*","

geeft u resultaat “12,34,35,231”

Ik hoop dat dit het resultaat is, laat het me weten


Antwoord 4, autoriteit 4%

array.map{ |i|  %Q('#{i}') }.join(',')

Antwoord 5, autoriteit 3%

string_arr.map(&:inspect).join(',') # or other separator

Antwoord 6, autoriteit 2%

Ik vind dit leesbaar en robijnachtig:

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

Antwoord 7

> puts "'"+['12','34','35','231']*"','"+"'"
'12','34','35','231'
> puts ['12','34','35','231'].inspect[1...-1].gsub('"',"'")
'12', '34', '35', '231'

Antwoord 8

En nog een andere variatie

a = ['12','34','35','231']
a.to_s.gsub(/\"/, '\'').gsub(/[\[\]]/, '')

Antwoord 9

irb(main)> varA
=> {0=>["12", "34", "35", "231"]}
irb(main)> varA = Hash[*ex.collect{|a,b| [a,b.join(",")]}.flatten]
...

Antwoord 10

irb(main):027:0> puts ['12','34','35','231'].inspect.to_s[1..-2].gsub('"', "'")
'12', '34', '35', '231'
=> nil

Antwoord 11

Je kunt een functionele programmeerbenadering gebruiken om gegevens te transformeren:

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


Antwoord 12

stel je array :

arr=["1","2","3","4"]

Methode om array naar string te converteren:

Array_name.join(",")

Voorbeeld:

arr.join(",")

Resultaat:

"'1','2','3','4'"

Antwoord 13

array.inspect.inspect.gsub(/\[|\]/, "")zou het lukken

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes