Bu işlevi çağırdığımda doğru ve yanlış dizinler oluşturmayı test ettim ve yalnızca ikinci if deyiminin sorunlara neden olduğunu anladım. Ne yapılacağından emin değilim, çünkü her iki ifadenin de bu kadar benzer olması sorunu bulamıyorum. Değişikliği değiştirmek için ikinci if ifadesini sıfırladım. Yalnızca bir numaraya, işe yaramadı, ya da sadece bir WordCharacters.count yöntemine döndüm ... lütfen yardım edin!Neden "hatalı yönerge" hatası alıyorum?
// to define a custom index, and asign it a new custom position
func rearangeALetter(aWord: String, var changeThis: Int, var withThis: Int) -> (codedWord:String, fromTo: String) {
let aWordCharacters: [Character] = wordSeperator(aWord)
let changeCharacter: Character = aWordCharacters[changeThis]
var finalWord: [Character] = aWordCharacters
finalWord.removeAtIndex(changeThis)
if withThis > aWordCharacters.count {
withThis = 0
}
if changeThis > finalWord.count {
changeThis = aWordCharacters.count
}
finalWord.insert(changeCharacter, atIndex: withThis)
let returnWord = combineWords(finalWord)
return (returnWord, "Letter number \(changeThis + 1) has been switched with letter number \(withThis + 1)")
}
rearangeALetter("Hello", changeThis: 101, withThis: 100)
bu çok yardımcı olur bu yüzden acemiyim, Çok teşekkür ederim: Eğer endeks kullanmadan önce
Ah, ayrıca sınırları çekleri (her iki ifadeleri ise) yapmak gerekir. Bilgimi süratle test etmek için ipleri manipüle eden fonksiyonlar yapıyorum. Bu başka önerileri akla getirirse, tekrar çok teşekkür ederim! – KeithFrazier98