**:
swift 的 repl (read-eval-print loop) 環境可以讓我們使用 swift 進行簡單的互動式程式設計。也就是說每輸入一句語句就立即執行和輸出。這在很多解釋型的語言中是很常見的,非常適合用來對語言的特性進行學習。
要啟動 repl 環境,就要使用 swift 的命令列工具,它是以xcrun
命令的引數形式存在的。首先我們需要確認使用的 xcode 版本是否是 6.1 或者以上,如果不是的話,可以在 xcode 設定裡 locations 中的 command line tools 一項中進行選擇。然後我們就可以在命令列中輸入xcrun swift
來啟動 repl 環境了。
在 xcode 6.0 中是沒有包含 osx 10.10 的 sdk 的,而命令列執行 swift repl 是需要最新版的 osx sdk 的。如果我們使用 xcode 6.0 的版本的話,會出現 the sdk 'macosx10.9.sdk' does not support swift 的錯誤。
要指出的是,repl 環境只是表現得像是即時的解釋執行,但是其實質還是每次輸入**後進行編譯再執行。這就限制了我們不太可能在 repl 環境中做很複雜的事情。
另乙個用法是直接將乙個.swift
檔案作為命令列工具的輸入,這樣裡面的**也會被自動地編譯和執行。我們甚至還可以在.swift
檔案最上面加上命令列工具的路徑,然後將檔案許可權改為可執行,之後就可以直接執行這個.swift
檔案了:
// hello.swift這些特性與其他的解釋性語言表現得完全一樣。#!/usr/bin/env xcrun swift
println("hello"
) // terminal
> chmod 755 hello.swift
> ./hello.swift
// 輸出:
hello
相對於直接用swift
命令執行,swift 命令列工具的另乙個常用的地方是直接脫離 xcode 環境進行編譯和生成可執行的二進位制檔案。我們可以使用swiftc
來進行編譯,比如下面的例子:
// myclass.swift將生成乙個名叫class
myclass
} // main.swift
let object = myclass()
object.hello()
> xcrun swiftc myclass.swift main.swift
main
的可執行檔案。執行之:
> ./main利用這個方法,我們就可以用 swift 寫出一些命令列的程式了。// 輸出:
// hello xiaoming
最後想說明的乙個 swift 命令列工具的使用案例是生成彙編級別的**。有時候我們想要確認經過優化後的彙編**實際上做了些什麼。swiftc
提供了引數來生成asm
級別的彙編**:
swiftc -o hello.swift > hello.asmswift 的命令列工具還有不少強大的功能,對此感興趣的讀者不妨使用
xcrun swift --help
以及xcrun swiftc --help
來檢視具體還有哪些引數可以使用。 命令列工具
在wince6.0 中,在vs2005 的 build 選單中,有乙個 advanced build commands 其中有很多編譯選項 sysgen 相當於執行命令 blddemo q 一般第一次編譯或者是 改變了 catalog 中的item 的時候,就用這個了。clean sysgen 相當...
命令列工具
執行 scws h 可以看到詳細幫助說明。usage scws options i input o output i string file 要切分的字串或檔案,如不指定則程式自動讀取標準輸入,每輸入一行執行一次分詞 o file 切分結果輸出儲存的檔案路徑,若不指定直接輸出到螢幕 c charse...
c mysql命令列 mysql 命令列工具
1 mysql命令選項 2 mysql命令 3 mysql日誌 4 mysql服務端幫助 5 執行mysql指令碼 6 使用技巧 mysql是乙個能夠編輯輸入行的簡單sql shell,支援互動式和非互動式訪問。使用互動式時,查詢結果以ascii表的格式展示。使用非互動式時,查詢結果以製表符分隔的格...