Ruby で配列を文字列に変換する
Stewart Nguyen
2023年1月30日
-
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'
関連記事 - Ruby Array
- Ruby で配列をマージする
- Ruby 配列から重複を削除する
- Rubyで配列を文字列に結合する
- Rubyの正方配列要素
- Ruby でインデックスを使用して配列をマップする
- Ruby で数値の配列を合計する