西班牙輸了,這次世界盃強隊的表現真是沒話可說了。
ruby裡呼叫外部程式的方法有三種,[b]system[/b]、[b]exec[/b]、[b]重音符(`)[/b]。
先看一下[b]system[/b]
# linux
system("rm", "/tmp/file1")
system("rm /tmp/file2")
system("ls -l | hea -n l")
# windows
system("notepad.exe", "myfile.txt")
system("cmd /c dir", "somefile")
system是無法捕獲外部命令的輸出的。
[b]exec[/b]和system很像,但是exec後邊的**是不會被執行的。
[b]重音符(`)[/b],是可以捕獲外部命令輸出的,也可以寫成[b]%x[/b]的形式。
listing = `ls -l`
now = `date`
listing = %x(ls -l)
now = %x(date)
可以使用[b]fork[/b]方法建立新程序,wait和wait2方法用來等待子程序的返回,waitpid和waitpid2可以等待特定的子程序。windows不支援fork。
pid1 = ford
pid2 = ford
process.wait # 返回 pid2
process.wait2 # 返回 [pid1, 768],768是經過左偏移的退出狀態
pid3 = ford
pid4 = ford
process.waitpid(pid4, process::whohang) # 返回 pid4
process.waitpid2(pid3, process::whohang) # 返回 [pid3, 768]
pid和ppid分別返回當前程序及其父程序的程序id。可以用kill方法將unix式訊號傳送給程序。
process.kill(1, pid1) # 把訊號1送給pid1
process.kill("hup", pid2) # 把訊號hup送給pid2
process.kill("sighup", pid3) # 把訊號sighup送給pid3
process.kill("sighup", 0) # 把訊號sighup送給自己
讀《浪潮之巔》
我真是井底之蛙,讀了此書才知道,原來it已經有上百年的發展歷史了,我出生之前的6 70年代,很多美國的8 9歲的孩子都開始學習程式設計了。程式設計只是一項普通的工作,而非之前所認為的高精尖的科學。雖然起步較晚,大學時候也沒有好好學習相關基礎知識,但遲到總比不到要好。不斷積累,不斷關注新技術,每天進步...
IOS NSTimer在主線程外繼續執行
轉至 我們通常在主線程中使用 nstimer 有個實際 遇到的問題需要注意。當滑動介面時,系統為了更好地處理 ui事件和滾動顯示,主線程 runloop 會暫時停止處理一些其它事件,這時主線程中執行的 nstimer 就會被暫停。解決辦法就是改變 nstimer 執行的mode mode 可以看成事...
SQL之全外連線,左外連線,右外連線,內連線
1.內連線 內聯接使用比較運算子 使用像 或 之類的比較運算子 根據每個表共有的列的值匹配兩個表中的行,根據這兩張表中相同列的條件,得出其交集。沒有inner join,形成的中間表為兩個表的笛卡爾積 select from customers c,orders o where c.id o.cus...