scala入門之編寫scala指令碼

技術小能手發表於2018-10-26

儘管scala的設計目的是幫助程式設計師建造大型系統。但它也能適應於製造小型的指令碼。例如把以下程式碼放在hello.scala檔案中:

println("Hello,world,form ascript!")

然後執行:

194754_67ut_168814.jpg

scala指令碼的命令列引數儲存在名為args的scala陣列中。scala裡,陣列以0開始,可以通過在括號裡指定索引值來訪問陣列元素。scala裡陣列 args 的第一個元素是:args(0),而不是像Java那樣的:args[0]。現在,把以下內容寫到新檔案:helloarg.scala中測試一下:

//向第一個引數打問好    
println("Hello, " + args(0) + "!")

然後執行:

195137_bVwq_168814.jpg

這條命令裡,命令列引數“FHD”被傳遞給指令碼,並通過訪問args(0)獲得。請注意這個指令碼包含了一條註釋。scala編譯器忽略從//開始到行尾截止的以及在/* 和 */之間的字元。下面再舉一個例子,如建立一個名為test.scala的指令碼檔案:

var i = 0;  
while(i < args.length){  
  if(i != 0) print(" ")  
    print(args(i))  
    i += 1;  
} 
println()

執行結果:

195510_NuPY_168814.jpg

注意:
Java的++i 和 i++ 在scala裡不能使用的,要在scala裡得到同樣效果,必須要麼寫成: i = i + 1,要麼寫成: i += 1。
scala和Java一樣,必須把while或if的布林表示式放在括號裡。
scala和Java一樣,如果程式碼塊僅有一行語句,就像上例中的 if 語句,那麼花括號就可以不寫。
儘管scala也和Java一樣用分號分隔語句,但是scala的分號經常是可選的。

本文來自雲棲社群合作伙伴“開源中國”

本文作者:柳哥

原文連結


相關文章