我有一项任务要用棋盘做一些事情。输入给我们一些国际象棋图形的起始位置。例如"b4"或"a6"或类似的东西。我如何分解输入并从中生成两个整数,就像在C++中一样:
string input;
cin>>input
int coord_x = input[0] - 'a';
int coord_y = input[1]
我无法迅速做到这一点。我做了一些类似的事情:
let input : String=readLine()!
let characters = Array(input)
然后试着取int,但它不起作用,无论我试什么。。。swift中的数组内容是什么类型的?
您可以检索如下的c字符串表示:
let string = "a5"
let scalars = string.lowercased().cString(using: .ascii)!
let first = scalars[0]
let second = scalars[1]
检索unicodeScalar字符可能更安全:
let string = "a5".lowercased()
let characters = Array(string.unicodeScalars)
let first = characters[0].value - UnicodeScalar(unicodeScalarLiteral: "a").value