반응형
루비 배열에서 문자열로 변환
같은 루비 배열이 ['12','34','35','231']
있습니다.
그것을 같은 문자열로 변환하고 싶습니다 '12','34','35','231'
.
어떻게해야합니까?
나는 재미와 함께 다음과 같이 합류 할 것이다 :
['12','34','35','231'].join(', ')
편집하다:
"'#{['12','34','35','231'].join("', '")}'"
첫 번째와 마지막 작은 따옴표를 추가하는 일부 문자열 보간 : P
> a = ['12','34','35','231']
> a.map { |i| "'" + i.to_s + "'" }.join(",")
=> "'12','34','35','231'"
이 코드를 사용해보십시오 ['12','34','35','231']*","
"12,34,35,231" 결과를 제공합니다
나는 이것이 당신이 결과이기를 바랍니다.
array.map{ |i| %Q('#{i}') }.join(',')
string_arr.map(&:inspect).join(',') # or other separator
이 방법은 읽기 쉽고 루비 쉬합니다.
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'
그리고 또 다른 변형
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
함수형 프로그래밍 방식을 사용하여 데이터를 변환 할 수 있습니다.
['12','34','35','231'].map{|i| "'#{i}'"}.join(",")
array.inspect.inspect.gsub(/\[|\]/, "")
트릭을 할 수
참고 URL : https://stackoverflow.com/questions/3500814/ruby-array-to-string-conversion
반응형
'IT' 카테고리의 다른 글
행에서 첫 번째와 마지막 TD를 선택하는 방법은 무엇입니까? (0) | 2020.05.31 |
---|---|
자바 리플렉션 성능 (0) | 2020.05.31 |
jQuery에서 요소의 전체 너비 (패딩 및 테두리 포함) (0) | 2020.05.31 |
Enter 키를 누른 후 onChange 이벤트를 호출하려면 (0) | 2020.05.31 |
단일 방법을 사용하는 클래스 – 최선의 접근 방법? (0) | 2020.05.31 |