Я уже запустил поиск сегодня и обнаружил похожую проблему здесь , но это не полностью решило проблему. В моем случае я хочу преобразовать входную строку readLine "[3,-1,6,20,-5,15]"
в массив Int [3,-1,6,20,-5,15]
.
Я выполняю онлайн-задание по кодированию с одного веб-сайта, который требует ввода контрольного примера из readLine () .
Например, если я ввожу [1,3, -5,7,22,6,85,2] в консоль, мне нужно преобразовать его в тип массива Int. После этого я мог разобраться с частью алгоритма для решения квеста. Ну, я думаю, что не стоит ограничивать ввод как readLine (), но просто ничего не мог с этим поделать: (
Мой код, как показано ниже, может работать с положительным массивом только с числами, меньшими 10. Но для этого массива, [1, -3, 22, -6, 5,6,7,8,9] он даст числа как [1, 3, 2, 2, 6, 5, 6, 7, 8, 9], как я могу правильно преобразовать вход readLine ()?
print("please give the test array with S length")
if let numsInput = readLine() {
let nums = numsInput.compactMap {Int(String($0))}
print("nums: \(nums)")
}