このようなメソッドがあります。
swift
1// 指定された長さのランダムな文字列を返す 2func getRandomString(length: Int) -> String { 3 var str = "" 4 for _ in 0..<length { 5 str += getRandomCharacter() 6 // getRandomCharacter()はランダムな1文字がString型で返ってきます 7 } 8 return str 9}
これを1行で書きたいと思っているのですが、以下のように書くと contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
というエラーが出ます。
swift
1func getRandomString(length: Int) -> String { 2 return (0..<length).map {getRandomCharacter()}.joined() 3}
そこで、以下のように .map {$0}
を途中に挟んでみると期待した結果が得られましたが、expression of type 'Int' is unused
という警告が出ます。
swift
1func getRandomString(length: Int) -> String { 2 return (0..<length).map {$0}.map {getRandomCharacter()}.joined() 3}
もっと良い書き方を教えていただければ幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/07 05:49