文字の配列(Array)を文字列(String)に変換したい…
ただ、それだけのことで、何時間と費やしてしまいました。
同じこと処理を実装したいのに困っている人が(いたら)のために、備忘録として書いておきます。
2014-09-17の投稿からいろいろな方からコメントを頂き、変換方法が増えました。
ご協力頂いた方々ありがとうございます。
extendメソッドで変換する方法
let sample = Array("Hello, World!")
var str = ""
str.extend(sample)
println(sample)
println(str)
イニシャライザで変換する方法
takabosoftさんに教えて頂きました。
ありがとうございます。
let sample = Array("Hello, World!")
let str = String(seq: sample)
println(sample)
println(str)
+ Operatorで変換する方法
こちらもtakabosoftさんから教えて頂きました。
let sample = Array("Hello, World!")
let str = "" + sample
println(sample)
println(str)
reduceメソッドで変換する方法
satoshiaさんに教えて頂きました。
ありがとうございます。
let sample = Array("Hello, World!")
let str = sample.reduce("") { $0 + String($1) }
println(sample)
println(str)
joinとmapメソッドで変換する方法
dankogaiさんからもコメントで別解を教えて戴きました。ありがとうございます。
let cs = Array("Hello, World!!")
println(cs)
println("".join(cs.map{String($0)}))
引き続き,xxx.extend についてのドキュメントを探しております。
どこかで見かけた方がいらっしゃいましたら、コメントを頂けると光栄です。
こちらもsatoshiaさんから
Xcodeで定義を追っかけると,extend()はExtensibleCollectionTypeプロトコルで定義されていて,SequenceTypeを引数に取るmutatingな関数のようですね。
詳しいドキュメントはないようですが,機能はこれらの名前の通りかと。
コメント頂いて調べてみたところ、こちらのブログにExtensibleCollectionTypeについて説明が載っていました。
気が向いたら、今回の件を含めて記事を書いてみたいと思います。