Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift编写命令行工具大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

原文: https://www.raywenderlich.com/128039/command-line-programs-os-x-tutorial 练习写的代码: https://github.com/uniquejava/Panagram 知识点: 取程序名 let executablename = (Process.arguments[0] as NSString).lastPathCo

@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,请注明来意。