好程式設計師大資料教程Scala系列之方法的巢狀和方法多型
好程式設計師大資料教程為大家分享 Scala系列之方法的巢狀和方法多型
方法裡巢狀定義其他方法
示例1
object
EmbedDemo {
def
add3
(x:Int,y:Int,z:Int)={
def
add2
(x:Int,y:Int)={
x+y
}
add2
(
add2
(x,y),z)
}
def
main
(args: Array[String]): Unit = {
println
(
add3
(
1
,
2
,
3
))
//6
}
}
示例2
def
factorial
(x: Int): Int = {
def
fact
(x: Int, accumulator: Int): Int = {
if
(x <=
1
) accumulator
else
fact
(x -
1
, x * accumulator)
}
fact
(x,
1
)
}
println
(
"Factorial of 2: "
+
factorial
(
2
))
println
(
"Factorial of 3: "
+
factorial
(
3
))
方法的多型
Scala裡方法可以透過型別實現引數化,類似泛型。
def
listOfDuplicates[A](x: A, length: Int): List[A] = {
if
(length <
1
)
Nil
else
x ::
listOfDuplicates
(x, length -
1
)
}
println
(listOfDuplicates[Int](
3
,
4
))
// List(3, 3, 3, 3)
println
(
listOfDuplicates
(
"La"
,
8
))
// List(La, La, La, La, La, La, La, La)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2659732/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師大資料教程Scala系列之類程式設計師大資料
- 好程式設計師大資料教程Scala系列之繼承程式設計師大資料繼承
- 好程式設計師大資料教程分享Scala系列之閉包程式設計師大資料
- 好程式設計師大資料教程Scala系列之高階函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享Scala系列之泛型程式設計師大資料泛型
- 好程式設計師大資料分享Scala系列之柯里化程式設計師大資料
- 好程式設計師大資料教程Scala系列之隱式轉換和隱式引數程式設計師大資料
- 好程式設計師大資料教程分享Scala系列之Option_偏函式_String程式設計師大資料函式
- 好程式設計師大資料教程分享Scala系列之檔案以及正規表示式程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之物件程式設計師大資料物件
- 好程式設計師大資料培訓分享spark之Scala程式設計師大資料Spark
- 好程式設計師大資料學習路線分享Scala系列之抽象類程式設計師大資料抽象
- 好程式設計師大資料學習路線分享Scala系列之陣列程式設計師大資料陣列
- 好程式設計師大資料學習路線分享Scala系列之對映Map程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之基礎篇程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之集合操作函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享spark之Scala程式設計師大資料Spark
- 好程式設計師Java實用教程系列之物件的轉型程式設計師Java物件
- 好程式設計師大資料教程分享實用的大資料之陣列程式設計師大資料陣列
- 好程式設計師大資料學習路線分享Scala分支和迴圈程式設計師大資料
- 好程式設計師雲端計算教程分享if巢狀功能語法解析程式設計師巢狀
- 好程式設計師大資料教程分享之Hadoop優缺點程式設計師大資料Hadoop
- 好程式設計師Java教程分享SQL資料庫不同的最佳化方法程式設計師JavaSQL資料庫
- 好程式設計師大資料教程:SparkShell和IDEA中編寫Spark程式程式設計師大資料SparkIdea
- 好程式設計師web前端教程JavaScript系列之HTTP程式設計師Web前端JavaScriptHTTP
- 好程式設計師大資料學習路線分享scala單列和伴生物件程式設計師大資料物件
- 深圳大資料學習:方法的巢狀--【千鋒】大資料巢狀
- 好程式設計師大資料教程分享大資料之流程控制程式設計師大資料
- 好程式設計師web前端教程分享js reduce方法使用教程程式設計師Web前端JS
- 好程式設計師大資料培訓分享mysql資料型別程式設計師大資料MySql資料型別
- 好程式設計師Java教程系列之異常定義程式設計師Java
- 好程式設計師大資料教程分享:HDFS基本概念程式設計師大資料
- 好程式設計師分享大資料入門教程:Hadoop和spark的效能比較程式設計師大資料HadoopSpark
- 好程式設計師web前端教程分享JavaScript簡寫方法程式設計師Web前端JavaScript
- 好程式設計師大資料培訓分享之Ambari和ClouderaManager對比程式設計師大資料Cloud
- 好程式設計師大資料教程分享HDFS常用shell和web介面介紹程式設計師大資料Web
- 好程式設計師大資料學習路線分享大資料之字串程式設計師大資料字串
- 好程式設計師大資料學習資料之YARN資源管理程式設計師大資料Yarn