scala的程序控制

2021-06-21 20:51:28 字數 892 閱讀 7865

scala的設計目標之一就是能在簡單的指令碼化任務和大型程式之間保持良好的伸縮性。scala.process包提供了用於與shell程式互動的工具。可以利用scala編寫shell指令碼,利用scala提供的所有威力。

如下是乙個簡單的例項:

import sys.process._

"ls -al .." !

這樣做的結果是,ls -al ..命令被執行,顯示上層目錄中的所有檔案。

sys.process包含了乙個從字串到processbuilder物件的隱式轉換。!操作符執行的就是這個processbuilder物件。

!操作符返回的結果是被執行程式的返回值:程式成功執行的話就是0,否則就是顯示錯誤的非0值。

如果使用!!,輸出會以字串的形式返回。

val result = "ls -al .." !!

要把輸出重定向到檔案,使用#》操作符:

"ls -al .." #> new file("output.txt") !

要追到到檔案末尾而不是從頭覆蓋的話,使用#>>操作符:

"ls -al .." #>> new file("output.txt") !

要把某個檔案的內容作為輸入,使用#<  :

"ls -al .." #< new file("output.txt") !

從url重定向輸入:

"grep scala" #< new url("") !

本文參考書籍《scala for the impatient》

程序及程序控制

學習程序之前,先了解一下程式 所謂程式就是指編譯好的二進位制檔案,在磁碟上,不占用系統資源 cpu 記憶體.而程序是與作業系統相關,是指在記憶體中執行起來的程式,占用一些系統資源,每當乙個程式執行,就相應產生乙個程序。程序的一些相關資訊被放在乙個叫程序控制塊的資料結構中,稱之為pcb。linux下的...

Linux的程序控制

1 有沒有命令能讓程序suspend and resume 參考 http zhidao.baidu.com question 57671342 kill stop 1234 將該程序暫停。如果要讓它恢復到後台,用kill cont 1234 很多在前台執行的程式這樣是不行的 如果要恢復到前台,請在...

Unix 程序控制

一 程序 程序id為1是init程序,在自舉過程結束時由核心呼叫。程序id為2是頁精靈程序,此程序負責支援虛存系統的請頁操作。也是核心程序。二 fork 對於父程序已經終止的所有程序,它們的父程序都改變為init程序,我們稱這些程序由init程序領養。此保證了每個程序有乙個父程序。init被編寫成只...