alphaLetter
и alphaScore
являются строками. Результат создания массива из одной строки - [Character]
, включая запятые!.
Возможно, вы имеете в виду это (проверено на игровой площадке)
let showLetters = ["S","W","I","F","T"]
func calcButton() {
var testWord = ""
var wordScore = 0
let alphaLetter = Array(["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"])
let alphaScore = Array ([1,3,2,2,1,4,2,4,1,8,5,1,3,1,1,3,10,1,1,1,1,4,4,8,4,10])
for k in 0..<showLetters.count
{
testWord = testWord + showLetters[k]
let letterFound = showLetters[k]
if let index = alphaLetter.firstIndex(of: letterFound) {
wordScore += alphaScore[index]
}
}
print(wordScore)
}
calcButton()
Тем не менее его использование гораздо эффективнее словарь ["A" : 1, "B" : 3 ...]
func calcButton() {
var testWord = ""
var wordScore = 0
let alphaDict = ["P": 3, "U": 1, "B": 3, "M": 3, "A": 1, "C": 2, "V": 4, "L": 1, "Q": 10, "D": 2, "H": 4, "K": 5, "N": 1, "J": 8, "T": 1, "E": 1, "X": 8, "R": 1, "O": 1, "I": 1, "G": 2, "F": 4, "Y": 4, "Z": 10, "W": 4, "S": 1]
for character in showLetters {
if let value = alphaDict[character] {
wordScore += value
}
}
print(wordScore)
}