Prompter是一个轻量级的Swift 2+库,极大地简化了在OSX和Linux上为命令行(cli)应用程序捕获用户输入。
具体来说,它允许您提示用户进行输入并验证响应是否为(目前)String
、Int
、Bool
或从给定列表中选择的有效单选选项。
要通过SPM添加Prompter,请将以下内容添加到您的Package.swift
文件中:
let package = Package(
name: "YourPackageName"
dependencies: [
.Package(url: "https://github.com/mpclarkson/Prompter.git", majorVersion: 1),
]
)
此库有很好的文档。查看文档。
每个ask
方法都包括以下参数
question
- 必需的message
- 可选字符串,用于覆盖默认验证消息block
- 可选闭包,在成功时调用import Prompter
let prompt = Prompt()
//Prompt the user for a string input
let name = prompt.askString("What is your name?",
message: "This is an optional validation message!") { string in
//this is an optional block
}
//Prompt the user for a string input
let age = prompt.askInt("How old are you?")
//Prompt the user for a Boolean response
//y, Y, Yes, yes, t, True, 1 are all true etc
let age = prompt.askBool("Do you like beans")
//Ask the user to select from a list of choices
let choices = ["beans", "apples"]
let age = prompt.askChoice("Which of these do you prefer",
choices: choices) { (index, string) in
print(index, string)
//0, beans
}
使用xctool运行测试
xctool -workspace Prompter.xcworkspace -scheme Prompter test
来自Hilenium的Matthew Clarkson @matt_clarkson
Prompter在MIT许可下提供。有关更多信息,请参阅LICENSE文件。