関数に渡された文字列が、タプルを要素として持つ配列内にあるかどうかを調べる方法を理解しようとしています。以下は私のコードです。私はこれをどのように解決するのがベストかわからない。文字列がタプルの配列の一部であるかどうかを確認する - Swift
typealias myTuple = (input: String, magnitude: Int)
var userInput = "Happy"
var wordOneArray: [myTuple] = []
var magnitudeCount = 1
var userInputTuple: myTuple = (userInput, magnitudeCount)
magnitudeCount += magnitudeCound
func addUserInput(tempArray: myTuple) {
if wordOneArray.contains(userInput) {
userInputTuple = (userInput, magnitudeCount += magnitudeCount)
}
wordOneArray.append(userInputTuple)
print(wordOneArray)
}
addUserInput(tempArray: userInputTuple)
userInput = "Sad"
userInputTuple = (userInput, magnitudeCount)
addUserInput(tempArray: userInputTuple)
期待される出力は何ですか?どのようなエラーがありますか? – Hamish
if文の行に「引数がありません」というエラーが発生しました。次の行に '+ ='が生成され、 '()'が生成されます。 –
この情報であなたの質問を編集してください。最初のエラーの理由は、配列が正しいかどうかを直接質問することができないためですあなたはカスタム述語を使う必要があるでしょう(なぜコンパイラが 'contains(where:)'を示唆しているのか)。タプル代入からそれを移動し、代わりに 'magnitudeCount'を代入してください - 例えばhttp://stackoverflow.com/q/36185088/2976878を参照してください – Hamish