2019独角兽企业重金招聘Python工程师标准>>>

原文:
https://www.raywenderlich.com/128039/command-line-programs-os-x-tutorial

练习写的代码:

https://github.com/uniquejava/Panagram

知识点:

取程序名
let executableName = (Process.arguments[0] as NSString).lastPathComponent

取命令行参数个数
let argCount = Process.argc

取参数数组(比如第一个参数)
let argument = Process.arguments[1]

字符串操作
截取
argument.substringFromIndex(argument.startIndex.advancedBy(1)))

替换:
self.lowercaseString.stringByReplacingOccurrencesOfString(" ", withString: "")

反转:
String(str.characters.reverse())

排序:
str.characters.sort()

去掉换行符
str = NSString(data: inputData, encoding: NSUTF8StringEncoding)!
str.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())

扩展
命名StringExtension.swift
语法extension String{ func methodA() {}}

比较==
比较字符串相等,   
"hello" == "hello"
比较数组相等
["hello", "world"] == ["hello", "world"]

标准输入STDIN

func getInput() -> String {// 使用OC的API//1let keyboard = NSFileHandle.fileHandleWithStandardInput()//2let inputData = keyboard.availableData//3let strData = NSString(data: inputData, encoding: NSUTF8StringEncoding)!//4return strData.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())// 或者使用swift中新的API//return readLine()!}

标准及错误输出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

enum OutputType {case Errorcase Standard
}enum OptionType: String {case Palindrome = "p"case Anagram = "a"case Help = "h"case Quit = "q"case Unknowninit(value: String) {switch value {case "a":self = .Anagramcase "p":self = .Palindromecase "h":self = .Helpcase "q":self = .Quitdefault:self = .Unknown}}
}

转载于:https://my.oschina.net/uniquejava/blog/685537

swift编写命令行工具相关推荐

  1. java 编写命令行工具_编写命令行工具

    1.使用common-cli编写命令行工具 commons-cli是Apache开源组织提供的用于解析命令行参数的包. 先引用common-cli依赖包: commons-cli commons-cl ...

  2. python工具是什么-使用Python编写命令行工具有什么好的库?

    使用Python编写命令行工具的库很多,我最推荐的还是Google Fire Hello World 要介绍Fire是什么,看一个简单的例子就明白了 # calc.py import fire cla ...

  3. 使用.Net Core编写命令行工具(CLI)

    使用.Net Core编写命令行工具(CLI) 命令行工具(CLI) 命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后 ...

  4. go编写命令行工具_编写者的命令行文档转换工具

    go编写命令行工具 今天,我们有足够的工具可用于在我们的计算机上编辑备忘录,信件,论文,书籍,演示幻灯片和其他文档. 这既有好处也有缺点:一方面,如果您不喜欢某个软件,则可以随时随地转到另一个软件上: ...

  5. node工程默认url_node命令行工具之实现项目工程自动初始化的标准流程

    一.目的 传统的前端项目初始流程一般是这样: 可以看出,传统的初始化步骤,花费的时间并不少.而且,人工操作的情况下,总有改漏的情况出现.这个缺点有时很致命. 甚至有马大哈,没有更新项目仓库地址,导致提 ...

  6. python3命令需要使用命令行开发者工具_3 个 Python 命令行工具

    用 Click.Docopt 和 Fire 库写你自己的命令行应用. 有时对于某项工作来说一个命令行工具就足以胜任.命令行工具是一种从你的 shell 或者终端之类的地方交互或运行的程序.Git 和 ...

  7. 中文 Markdown 编写格式规范的命令行工具 lint-md

    lint-md 用于检查中文 markdown 编写格式规范的命令行工具,基于 AST 开发,且方便集成 ci.Cli tool to lint your markdown file for Chin ...

  8. 【重识云原生】第六章容器6.3.7节——命令行工具kubectl

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  9. TaxonKit:小巧、高效、实用的NCBI分类学数据命令行工具

    TaxonKit: 小巧.高效.实用的NCBI分类学数据命令行工具集 宏基因组按:NCBI物种分类注释信息格式复杂,存在层级不整齐.缺失.名称变动等问题,在使用中存在一定困难.最近发现了一款分类信息查 ...

最新文章

  1. 138.ssm 框架下 导出Excel
  2. redis为什么是cp_面试官:Redis怎么持久化的?如何回答持久化策略呢?
  3. File文件操作(二):内存映射
  4. php aapt apk 包名,aapt 命令可应用于查看apk包名、主activity、版本等很多信息
  5. linux到不了启动界面,Linux 界面不能启动的解决
  6. c#通过app.manifest使程序 右键 以管理员身份运行
  7. PHP:打造一个无限极评论模块
  8. “死机短信”缠上山寨手机 往下翻就死机黑屏
  9. 【云原生】SpringCloud系列之服务调用OpenFeign(日志配置、异常解码器、更改负载均衡策略、替换默认通信组件等)
  10. 十进制数转8421BCD码
  11. 复音合成器插件-Arturia Pigments 3.0.0 WiN-MAC
  12. 【计算机网络】TCP拥塞控制,分析拥塞控制的流程
  13. MIGO BAPI BAPI_GOODSMVT_CREATE 使用汇总
  14. html八卦绘制,HTML+CSS实现画出一个太极八卦图案
  15. 百微秒时延,腾讯云云硬盘CBS架构深度解密
  16. 利用爬虫下载批量图片
  17. windows10自带的输入法如何将繁体字切换成简体
  18. xxl-job-admin实践
  19. 7-2 jmu-python-最佳身高 (10分) Python
  20. 分享到QQ空间、新浪微博、腾讯微博的代码!(收藏)

热门文章

  1. unslider调用配置选项
  2. LightSwitch中的权限
  3. 网络营销教程—SEO 第八章 内部链接的优化操作
  4. Js组件layer的使用
  5. 网络模块(客户端的连接动作)
  6. .net framework 2.0 Silent install(.net framework 静默安装)
  7. 自增或自减例子:i++和++i的相同点和不同点
  8. hdu 3819动态规划
  9. Foundation框架中常用类的介绍
  10. c# GDI+画折线图(初级版本)