文字列の配列を補間すると、引用符「\"」のエスケープ文字が含まれます。引用符なしで補間するにはどうすればよいですか?
string_array = ["a","b","c"]
p "#{string_array}" # => "[\"a\", \"b\", \"c\"]"
文字列の配列を補間すると、引用符「\"」のエスケープ文字が含まれます。引用符なしで補間するにはどうすればよいですか?
string_array = ["a","b","c"]
p "#{string_array}" # => "[\"a\", \"b\", \"c\"]"
使い方p "#{string_array}"
は同じですputs "#{string_array}".inspect
p object は puts object.inspect と同じであるため覚えておいてください
これは(あなたの場合、文字列で p を呼び出しました)と同じです:
puts string_array.to_s.inspect
( to_s は、配列が何かによって文字列になるように要求されるたびに常に呼び出されます (出力されるなど)。)
したがって、実際には、配列自体ではなく、配列によって返された文字列を検査しています。
["a", "b", "c"] を印刷したいだけの場合、それを行う方法はp string_array
notを使用しますp "#{string_array}"
配列内のすべての文字列を結合したい場合は、String#join を使用して結合します。たとえば、messick のように各値の間にコンマとスペースを入れたい場合は、次のようにします。
puts string_array.join(", ")
これは次のように出力されます: "a, b, c"
join
配列要素が必要です。
["a","b","c"].join(', ')