W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
當程序越來越大,你需要將代碼細化為小的容易管理的模塊。Scala 支持多種方法來細化程序代碼,這些方法也為有經(jīng)驗的程序員已經(jīng)掌握的:使用函數(shù),和 Java 相比,Scala 提供了多種 Java 不支持的方法來定義函數(shù),除了類成員函數(shù)外,Scala 還支持嵌套函數(shù),函數(shù)字面量,函數(shù)變量等。
本篇先介紹類或?qū)ο蟮某蓡T函數(shù)。這也是最常見的定義函數(shù)的方法。例如下面的例子定義了兩個成員函數(shù):
import scala.io.Source
object LongLines {
def processFile(filename: String, width: Int) {
val source= Source.fromFile(filename)
for (line <- source.getLines())
processLine(filename,width,line)
}
private def processLine(filename:String,
width:Int, line:String){
if(line.length > width)
println(filename + ":" +line.trim)
}
}
成員函數(shù) processFile 使用兩個參數(shù),一個文件名,一個為字符長度,其作用是打印出文件中超過指定字符長度的所有行。它調(diào)用另外一個私有成員函數(shù) processLine 完成實際的操作。
這個成員函數(shù),如果作為腳本使用,可以使用如下代碼:
LongLines.processFile(args(0),args(1).toInt)
可以看到 Scala 類成員函數(shù)的使用方法和其它面向?qū)ο蟮某绦蛘Z言如 Java 基本一致。在后面的文章將介紹 Scala 函數(shù)不同于 Java 的一些特性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: