在 Ruby 中將陣列轉換為字串
Stewart Nguyen
2023年1月30日
給定一個陣列,例如 ['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 中 each_with_index 和 each.with_index 的區別
- 在 Ruby 中使用索引對映陣列
- 在 Ruby 中過濾陣列
- 在 Ruby 中對一個陣列求和
- 在 Ruby 中檢查值是否存在於陣列中