Swift:生成(Swift)字符数组 [英] Swift: generate an array of (Swift) characters
本文介绍了Swift:生成(Swift)字符数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
一个简单的问题-希望我正在尝试生成一个简单的字符数组,类似于以下内容:
Simple question - hopefully, I am trying to generate a simple array of characters, something in the vein of:
// trying to do something like this (pseudo code):
let letters:[Character] = map(0..<26) { i in 'a' + i }
并且尝试了以下操作均无济于事
and have tried the following to no avail
let a = Character("a")
let z = Character("z")
let r:Range<Character> = a..<z
let letters:[Character] = map(a..<z) { i in i }
我意识到Swift使用Unicode,做这样的事情的正确方法是什么?
I realize that Swift uses Unicode, what is the correct way to do something like this?
(注意,这不是关于与旧版Obj-C char互操作的问题,严格来说是在Swift中进行测试等).
(Note, this is not a question about interop with legacy Obj-C char, strictly in Swift for testing etc).
推荐答案
在Swift中获取初始字符代码(即c/Obj-C中的'a'
)有点麻烦,但是您可以这样做:
It's a little cumbersome to get the initial character code (i.e. 'a'
in c / Obj-C) in Swift, but you can do it like this:
let aScalars = "a".unicodeScalars
let aCode = aScalars[aScalars.startIndex].value
let letters: [Character] = (0..<26).map {
i in Character(UnicodeScalar(aCode + i))
}
这篇关于Swift:生成(Swift)字符数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文