scala學習筆記2

2021-08-27 22:22:28 字數 1513 閱讀 1679

package com.scala.stu

import scala.collection.mutable.map

import scala.io.source

/** * 第二章例子

*/object t_002

/*** 例子一,陣列的使用,使用的是獲取匿名函式的方法建構函式體

*/def t_arr():unit =

//1+1 被轉化成(1).+(2)形式

print((1).+(2))

} /**

*list的例子

*/def t_list(): unit =

val onetwothree = 1 :: twothree//列表類中最常用的操作符『::』,他可以把新元素

//組合到現有列表的最前端,然後返回執行結果的新列表

//1 :: twothree 轉化成twothree.::(1)

println(onetwothree)

val onetwothree2 = 1 :: 2 :: 3 :: nil//nil是空列表的縮寫,可以用cons操作符把所有元素都串起來

println(onetwothree2)

} /**

* 注:常用

* 元組的例子,與列表不同,元組可以包含不同型別的元素

*/def t_tuple(): unit =

/*** map的例子

*/def t_mp(): unit =

/*** 從檔案裡讀取文字行

*/def t_file():unit =

//將從檔案中讀取的列舉器轉化成乙個列表器,這樣就可可以把整個檔案存入到記憶體當中供我們隨時使用

val lines = source.fromfile("i:/doc/1.txt").getlines.tolist

var maxwidth = 0

for(line <-lines)

maxwidth = maxwidth.max(widthoflength(line))//函式的比較兩個值得最大值

println("\n最大的行:"+ maxwidth)

//reduceleft方法把傳入的方法引數應用於lines的第一,二個元數,產生結果,然後再應用於這個結果和lines

//接下去的乙個元素,依次類推直至整個列表。最後返回最後應用的結果

val longestline = lines.reduceleft(

(a,b) => if(a.length > b.length) a else b

)val maxwidth2 = widthoflength(longestline)

println("最大行數:"+maxwidth2)

} /**

* 統計文字的最大長度的行數

* 使用函式是的函式

*/def widthoflength(s: string) = s.length().tostring().length

}

Scala學習筆記

scala學習筆記 一.scala中集合的常用方法 首先定義兩個陣列集合,用於測試 scala val arr1 array 1,2,3,4 arr1 array int array 1,2,3,4 scala val arr2 array 3,4,5,6 arr2 array int array ...

Scala學習筆記

1 閉包 var a 3 var addfun x int x a var b addfun 10 println b addfun 就是個和物件無關的函式,區域性變數,使用方法和函式一樣,但是好像不推薦這種寫法。2 類的建立,簡單使用abstract class bparent 構造函式引數會自動...

Scala 學習筆記

object a val u fab 15,list 1,1 val f p int print p t 變長引數 def sum nums int int int def main args array string unit def f p int int print f 4 object ab...