Swift init(count:, repeatValue:) は機能しますか? 質問する

Swift init(count:, repeatValue:) は機能しますか? 質問する

参照からこれをテストしました:https://developer.apple.com/documentation/swift

var string = String(count: 5, repeatedValue: "a")
// string is "aaaaa"

次のエラーが発生しました:

プレイグラウンドの実行に失敗しました: エラー: :5:14: エラー: 指定された引数を受け入れる 'init' のオーバーロードが見つかりませんでした var string = String(count: 5, repeatValue: "a")

これは実際に機能するのでしょうか?

ベストアンサー1

機能させるには、明示的に Character 型を渡す必要があるようです。私の場合はこれでうまくいきました。

let char = Character("a")
let string = String(count: 5, repeatedValue: char)

ただし、これらすべてにバグが混じっている可能性もあります。あなたがこれを行っていた方法は、それ自体で機能するはずだったと思います。また、この初期化子でコード補完がまったく得られないようです。

編集: バグで行きます。以下は問題なくコンパイルされます。

let array = Array(count: 5, repeatedValue: "a")

おすすめ記事