のArrayの問題変異値を持つ:スウィフト3 - 私はこの配列内の各単語の文字列から最後の文字を取るしようとしています機能
var nonsenseArray = ["bungalow", "buffalo", "indigo", "although", "Ontario", "albino", "%$&#!"]
との各文字の文字列を作成します関数内のfor-loopを使用します。以下は
cannnot use mutating member on immutable value: "every" is a "let" constant
が私のコードです:私は他の回答から発見した
func combineLastCharacters(array: [String]) -> String {
var myString = ""
var array = array
for every in array {
myString = "\(every.remove(at: every.index(before:
every.endIndex)))" + myString
}
return myString
その使用して:私は良い答えを持っていますが、次のエラーを取得していますような気がし
var array = array
配列が変更可能になるはずです。そのため、removeメソッドを使用できます。どんな助けでも大歓迎です。
私が作成しようとしている文字列は「woohoo!」です。
私は機能を印刷しようとすると、今私は、コンパイラの警告なし出力を取得しています。警告は次のとおりです: "変数配列は変更されませんでした: 'let' constant 'に変更することを検討してください。私は毎回varを追加するというあなたの提案を使って、最初の問題を修正しました。 –
@Cali_Rangerコンパイラ警告に関しては、関数を複製するときに 'var array = array'行を削除したことに注意してください。出力を得ることに関して:あなたはどのコードを使って印刷していますか? –
私は出力の不足は、コンパイラの警告のためだと思った。 'var array = array'を一旦削除すると、コードが機能しました。 –