官术网_书友最值得收藏!

7.9 結語

Scala內建的控制結構很小,但能解決問題。內建的控制結構與指令式的控制結構類似,但由于有返回值,它也支持更函數式的編程風格。同樣重要的是,它很用心地省去了一些內容,讓Scala最強大的功能特性之一,即函數字面量,得以發揮威力。下一章將詳細介紹函數字面量。

[1]示例7.4中的gcd函數使用了與示例6.3中類似命名的、用于幫助Rational參數計算最大公約數的函數相同的算法,主要區別在于,示例7.4的gcd函數針對的是Long類型的參數而不是Int類型的參數。

[2]譯者注:意思是尋求不需要使用while循環的方案。

[3]準確地說,在for表達式的<-符號右側的表達式可以是任何擁有某些特定的帶有正確簽名的方法(如本例中的foreach)的類型。第2章詳細介紹過Scala編譯器對for表達式的處理機制。

[4]譯者注:不是默認和推薦的做法。

[5]雖然我們必須用括號將catch子句中的case語句括起來,但是try-finally子句并沒有這個要求。當只有一個表達式時,花括號或縮進并不是必需的,比如:try t() catch { case e: Exception => ... } finally f()。

[6]示例7.18的printMultiTable函數是以指令式編程風格編寫的,將在下一節被重構成函數式編程風格。

主站蜘蛛池模板: 厦门市| 桦南县| 延川县| 惠来县| 班戈县| 乐至县| 廉江市| 英超| 诸暨市| 安国市| 郧西县| 昌乐县| 蒙阴县| 全州县| 揭阳市| 九寨沟县| 阿勒泰市| 屯门区| 镇雄县| 辽中县| 寿光市| 舞阳县| 棋牌| 石嘴山市| 集贤县| 青阳县| 齐河县| 永丰县| 长垣县| 孝义市| 香港 | 拜城县| 那坡县| 呼玛县| 温宿县| 永修县| 忻城县| 莆田市| 陇西县| 渝中区| 牟定县|