Scala 函數(shù)–類成員函數(shù)

2018-09-28 18:24 更新

函數(shù)–類成員函數(shù)

當程序越來越大,你需要將代碼細化為小的容易管理的模塊。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 的一些特性。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號