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

时间:2019-04-14 10:14:29

标签: swift

var input = [readLine() ?? ""]

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

如果我什么都不输入,我想将输入内容设为空列表。

我该怎么办?

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

3 个答案:

答案 0 :(得分:0)

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

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

我希望这会有所帮助。

答案 1 :(得分:0)

只需过滤出空值:

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

甚至:

let input = [readLine()]
   .compactMap { $0 } // remove nil
   .filter { !$0.isEmpty } // remove empty strings

答案 2 :(得分:0)

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

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

然后在呼叫站点可以写:

var input = myReadLine()

将逻辑与调用代码分开,更易于阅读。如果以后要修改输入处理条件,它还具有易于更改的更多优势。