大佬教程收集整理的这篇文章主要介绍了swift编写命令行工具,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_944_15@ @H_944_15@ 原文:@H_944_15@ https://www.raywenderlich.com/128039/command-line-programs-os-x-tutorial
练习写的代码:
https://github.com/uniquejava/Panagram
知识点:
取程序名@H_944_15@ let executablename = (Process.arguments[0] as NSString).lastPathComponent@H_944_15@ @H_944_15@ 取命令行参数个数@H_944_15@ let argCount = Process.argc@H_944_15@ @H_944_15@ 取参数数组(比如第一个参数)@H_944_15@ let argument = Process.arguments[1]
字符串操作@H_944_15@ 截取@H_944_15@ argument.subStringFromIndex(argument.starTindex.advancedBy(1)))@H_944_15@ @H_944_15@ 替换:@H_944_15@ self.lowercaseString.StringByreplacingoccurrencesOfString(" ",withString: "")@H_944_15@ @H_944_15@ 反转:@H_944_15@ String(str.characters.reverse())@H_944_15@ @H_944_15@ 排序:@H_944_15@ str.characters.sort()@H_944_15@ @H_944_15@ 去掉换行符@H_944_15@ str = NSString(data: inputData,encoding: NSUTF8StringEncoding)!@H_944_15@ str.StringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())@H_944_15@ @H_944_15@ 扩展@H_944_15@ 命名StringExtension.swift@H_944_15@ 语法extension String{ func methodA() {}}@H_944_15@ @H_944_15@ 比较==@H_944_15@ 比较字符串相等,@H_944_15@ "Hello" == "Hello"@H_944_15@ 比较数组相等@H_944_15@ ["Hello","world"] == ["Hello","world"]
标准输入STDIN
func getinput() -> String { // 使用OC的API //1 let keyboard = NSFileHandle.fileHandleWithStandardinput() //2 let inputData = keyboard.availableData //3 let strData = NSString(data: inputData,encoding: NSUTF8StringEncoding)! //4 return strData.StringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet()) // 或者使用swift中新的API //return readLine()! }
@H_944_15@ 标准及错误输出STDOUT,STDERR
func writemessage(message: String,to: OutputType = .Standard) { switch to { case .Standard: print("\u{001B}[;m\(messagE)") case .Error: fputs("\u{001B}[0;31m\(messagE)\n",stderr) } }
定义enum@H_944_15@
enum OutputType { case Error CASE standard } enum OptionType: String { case palindrome = "p" case Anagram = "a" case Help = "h" case Quit = "q" case UnkNown init(value: String) { switch value { case "a": self = .Anagram case "p": self = .palindrome case "h": self = .Help case "q": self = .Quit default: self = .UnkNown } } }
以上是大佬教程为你收集整理的swift编写命令行工具全部内容,希望文章能够帮你解决swift编写命令行工具所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。