如何将空输入值更改为空数组?

问题描述 投票:-1回答:3
var input = [readLine() ?? ""]

如果我刚进入,输入有[""]

如果我没有输入任何内容,我想将输入设为空列表。

我该怎么做?

这是因为当输入为空时,我希望输入的计数为零。

swift
3个回答
0
投票

您可以使用IF语句检查输入是否为空字符串,如果是,则将输入设置为空数组。可能有更好的方法来做到这一点,但我认为这将有效。

if input == [""] {
    input = []
}

我希望这有帮助。


0
投票

另一种方法是定义自己的函数来读取行或返回一个空数组:

private func myReadLine() -> [String] {
    let line = readLine()
    if line == [""] {
        return []
    } else {
        return line
    }
}

然后在呼叫站点你可以写:

var input = myReadLine()

这使逻辑与调用代码分离,更易于阅读。如果您想稍后修改输入处理条件,它还具有更容易更改的附加优势。


0
投票

只需过滤掉空值:

input = input.filter { !$0.isEmpty }

甚至:

let input = [readLine()]
   .compactMap { $0 } // remove nil
   .filter { !$0.isEmpty } // remove empty strings
© www.soinside.com 2019 - 2024. All rights reserved.