В приведенном ниже коде я пытался создать цикл, который будет проходить через мою строку и добавить значение каждого символа в строке к общей переменной.Использование переменной в качестве словарного ключа
var stringSent = "babbbababa"
let charValues = ["a":1,"b":2]
var total = 0
for i in stringSent.characters{
switch i{
case "a":
total += charValues["a"]!
//adds 1 to total
case "b":
total += charValues[i]!
//throws error
default:
print("default was sent")
}
print(total)
}
Первоначально я собирался использовать цикл, как так, чтобы строки в наималейшем количество, которое я хотел бы сделать, если я могу понять, как получить переменный «я», чтобы правильно использовать в качестве ключа для возврата значения текущих символов.
for i in stringSent.characters {
total += charValues[i]
}
Я делаю что-то не так с моим словарем или этот метод невозможен? Я не нашел ничего полезного из Apple или Google.
Огромное спасибо за этот ответ, у меня было ощущение, что они не имеют одинаковых типов данных, я попытался сменить словарь на [Иероглиф: Int], но у меня не было "!" поэтому он ничего не сделал. – CogHead