好几天没做总结了,一直被写code的欲望牵引着,噼里啪啦打了很多code,也走了很多弯路。好多时候,突然搞定的时候,才发现自己真真像个新新手一样,给自己挖了好多坑,真是傻到家了!
好在我一直觉得,在debug上浪费的时间通常都不会是彻底浪费掉的,总有那么一些东西是留在脑子里,通俗地来讲,就是经验。是时候把过程理一理,记录下来了。
之前也说过,之所以把String顺了一遍,其根本缘由是想找到一个编码转换的函数,把我那些下载下来的书名乱码都改过来。后来编码是解决了,但改名还需要自己来……于是我琢磨着给Mac写个文件pickup的界面?刚巧看到源码推荐一个swift开源的命令行增强工具,突然意识到swift也是可以直接编译跑在终端的!做起来简单得不能更简单(先要装好Xcode command line tool,如果没装,在终端跑xcode-select --install
):
swiftc test.swift//生成一个test二进制程序
./test
这是有编译过程的,更省事的是直接跑了:
swift test.swift
需要的话可以自己研究研究。你看到的是非授权版本!爬虫凶猛,请尊重知识产权!
转载请注明出处:http://conanwhf.github.io/2015/12/15/runInTerm/
访问原文「在终端运行Swift程序」获取最佳阅读体验并参与讨论
现在程序可以跑了,但是还缺自动重命名的环节,这个需要用到文件操作,先按下不表,总之是我做完这个小工具,又花了扎扎实实一整天把各种文件操作实现了一遍。在这个程序里,我搜索了某个目录下的文件名,将他们转换成UTF8再批量重命名。
这样显然还不够完美,那就是如果我的文件不是放在这个固定目录,而是想用参数传进去怎么办?解决方案依然那么简单:
for s in Process.arguments {
print(s)
}
这个跟C一样,Process.arguments是一个字符串数组,第[0]个元素就是程序本身跑起来的名字。这个用法对于Linux程序员来说,简直是打开了新世界的大门啊!
好了,现在OK,虽然我还不会写Mac的应用,但给自己写点简单的小工具用用是没问题了。虽然其实之前也可以用C写,但毕竟Swift的API多,写起来方便,学以致用嘛!
源码传送门在此
P.S.这种模式下,貌似UIKit不能用