最终目标:把整数变成手写的长手。
我看过一些关于这个问题的讨论,这些讨论我都不知道。我遇到过一些函数,它们很高兴地将字符串拆分并打印出字符,但在数组中捕获这些字符似乎是不可能的。
似乎单个字符可以通过下标访问,但不能对其进行操作。
如果删除注释,下面将打印出1、2、9、5、0,但是当我运行if循环时,得到的是以错误顺序写入的数字字符串。
let sentence = "129.50"
for (character) in sentence {
// print(character)
if character == "0" {
print("zero")
}
if character == "1" {
print("one")
}
if character == "2" {
print("two")
}
etc etc
我还试图通过一个函数访问索引函数,尽管它每次打印出来的时候总是在最后崩溃。
func speakNum(_ num:Int) {
let strgNum = String(num)
for t in 0...strgNum.count {
let index = strgNum.index(strgNum.startIndex, offsetBy:t)
//strgnum.index(strgNum.startIndex, offsetBy:t)
print(String(strgNum[index]))
}
}
感谢任何帮助。
最佳答案
这是你学习TDD的好时机。测试驱动开发。从一个简单的案例开始,你能想到的最简单的。。。
assert(writtenOut("1") == "one")
执行上述操作,然后添加另一个测试:
assert(writtenOut("1") == "one")
assert(writtenOut("2") == "two")
对所有数字和小数点执行上述操作。您还应该处理错误情况:
assert(writtenOut("d") == "")
然后尝试更复杂的事情:
assert(writtenOut("12") == "one two") // or do you want "twelve" in this case?
你可以自己动手,从小事做起,一步步往上爬。当你完成的时候,你将有一个工作的函数和一系列的测试来证明它是有效的。
关于swift - 如何在Swift 4.2中捕获字符串中的各个字符并将其放置在数组中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52141707/