Ruby で配列を文字列に変換する
    
    
            Stewart Nguyen
    2023年1月30日
    
    Ruby
    Ruby Array
    Ruby String
    
- 
          
            Ruby で 
to_sを使用して配列を文字列に変換する - 
          
            Ruby で 
inspectを使用して配列文字列を変換する - 
          
            Ruby で 
joinとmapを使用して複雑な出力形式の配列を文字列に変換する 
配列が与えられた場合、たとえば ['12', '34', '56']。それを Ruby で文字列に変換する方法は?
Ruby で to_s を使用して配列を文字列に変換する
    
to_s は、配列型と、ハッシュ、数値、さらにはブール値を含むほとんどの Ruby データ型で使用できる一般的な組み込みメソッドです。戻り値のタイプは文字列です。
['12', '34', '56'].to_s
出力:
"[\"12\", \"34\", \"56\"]"
出力形式は複雑に見えるかもしれませんが、出力するときはかなりいいです。
puts ['12', '34', '56'].to_s
出力:
["12", "34", "56"]
配列を文字列に補間すると、内部で to_s が呼び出されます。
array = ['12', '34', '56']
string = "My array: #{array}"
puts string
出力:
My array: ["12", "34", "56"]
Ruby で inspect を使用して配列文字列を変換する
inspect は、Ruby 内の任意のオブジェクトに対して人間が読める形式の文字列を返し、to_s の代わりに使用できます。
puts ['12', '34', '56'].inspect
出力:
["12", "34", "56"]
Ruby で join と map を使用して複雑な出力形式の配列を文字列に変換する
['12', '34', '56'] を '12','34','56' の形式の文字列に変換するにはどうすればよいですか?
ご覧のとおり、to_s と inspect はどちらも余分な角かっことスペースを返し、一重引用符(')の代わりに二重引用符(")を使用します
これを実現するために、join と map を組み合わせて、配列をカスタマイズされた出力形式の文字列に変換できます。
まず、Array#join を使用して、配列のアイテム間に区切り文字を追加します。
['12', '34', '56'].join("','")
出力:
"12','34','56"
次に、文字列補間を使用して、一時的な結果を一重引用符のペアで囲みます。
delimeter_added_string = ['12', '34', '56'].join("','")
result = "'#{delimeter_added_string}'"
puts result
出力:
=> '12','34','56'
        チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
    
関連記事 - Ruby Array
- Ruby で配列をマージする
 - Ruby 配列から重複を削除する
 - Rubyで配列を文字列に結合する
 - Rubyの正方配列要素
 - Ruby でインデックスを使用して配列をマップする
 - Ruby で数値の配列を合計する