deb http://ppa.launchpad.net/orange-owners/ppa/ubuntu intrepid main放到 /etc/sources.list 裡,然後用 sudo apt-get update 更新,sudo apt-get install seed 來安裝即可。
deb-src http://ppa.launchpad.net/orange-owners/ppa/ubuntu intrepid main
執行 script 也很簡單,有兩種方法:
- 直接以 seed 執行:seed your_script.js
- 把 js 檔的第一行改為 #!/usr/bin/env seed,再以 chmod +x 為 js 檔加上執行權限,就可以用 ./your_script.js 執行。
目前官方沒有文件說明 Seed 內部有哪些類別與方法,這很讓人困擾,這兩天看了 source code 跟 example code 之後,大致上有點了解。
Seed 主要的類別是 Seed,提供了如下方法:
- include:用來含括其他 js,讓你可以為程式作適當的切割,不至於讓檔案變得太大而難以維護。
Seed.include("other.js");
- print:印字串。
Seed.print("Hello world!");
- check_syntax:檢查語法,你可以傳 javascript 程式進去檢查,如果有錯,會丟出 exception。
try {
Seed.check_syntax("Seed.print(;");
Seed.print("syntax ok!");
}
catch( e ) {
Seed.print( e.message );
} - spawn:執行外部程式,執行以後會回傳一個 object,這個 object 有兩個屬性:stdout 與 stderr。
var result = Seed.spawn("ls");
Seed.print( "=== spawn result(stdout) ===" );
Seed.print( result.stdout );
Seed.print( "=== spawn result(stderr) ===" );
Seed.print( result.stderr ); - fork:這跟 C 的 fork() 一樣,回傳值是 0,表示是子行程,-1 表示失敗,大於 0 的值,表示是父行程。
var pid = Seed.fork();
if( pid == 0 ) { // child process
var result = Seed.spawn( "ls" );
Seed.print( result.stdout );
Seed.quit();
}
else if( pid == -1 ) {
Seed.print( "cannot create child process." );
}
else { // parent process.
Seed.print( "I am parent process." );
} - quit:離開。
- introspect:這個函數可以用來探知類別成員函數如何使用,安裝 Seed 以後,/usr/share/doc/seed/examples 下有個 introspect.js,就是一個很好的範例。不過我還不是很懂怎麼去用~
- import_namespace:含括其他 library 進來使用,不要跟 include 搞混了,include 是含括其他 js 檔。
沒有留言:
張貼留言