scala yield入門詳解

2021-10-25 09:54:35 字數 1608 閱讀 8214

可以遍歷集合並對集合元素處理產生新集合,新集合和原有集合型別相同. (range的不同)

array,list,set,range

語法糖

scala>

val s=array(1,

2,3)

s: array[

int]

= array(1,

2,3)

//處理array元素

scala>

for(i <-s)

yield2*i

res15: array[

int]

= array(2,

4,6)

scala>

val p=list(1,

2,3)

p: list[

int]

= list(1,

2,3)

//處理list元素

scala>

for(i <-p)

yield2*i

res16: list[

int]

= list(2,

4,6)

scala>

val q=set(1,

2,3)

q: scala.collection.immutable.set[

int]

= set(1,

2,3)

//處理set元素

scala>

for(i <-q)

yield2*i

res17: scala.collection.immutable.set[

int]

= set(2,

4,6)

scala>

val r=(1

,2,3

)r:(int

,int

,int)=

(1,2

,3)//不支援元組

scala>

for(i <-r)

yield2*i

:13: error: value map is not a member of (

int,

int,

int)

for(i <-r)

yield2*i

//處理range ^

scala>

for(i <-

1 to 10

)yield2*i

res25: scala.collection.immutable.indexedseq[

int]

= vector(2,

4,6,

8,10,

1//可以先過濾再生成新集合

scala>

for(i <-s if i%2==

0)yield2*i

res23: array[

int]

= array(4,

8)//可以先過濾再生成新集合

scala>

for(i <-s if i>2)

yield2*i

res24: array[

int]

= array(6,

8)

SELECT 入門詳解

select模型要用的結構和函式如下 fd set,可以理解為檔案控制代碼的乙個集合,sock也可認為是乙個檔案控制代碼。timeval,用來表示時間,結構體中的tv sec表示秒,tv usec表示毫秒。int select int maxfdp,fd set readfds,fd set wri...

Pygame pgu 入門詳解

注 我是乙個剛學python的菜鳥,這幾天做大作業用了一下這個模組,感覺挺有用的,但是感覺找到學習的資料挺少的,所以給大家簡單的介紹一下。直接上圖吧,做完的效果是這樣的 簡單的pgu程式 先簡要介紹一下pgu,其全稱是phil s pygame utilities,是用來增強pygame庫和工具的集...

orcal入門詳解

1 安裝成功後進入dos介面操作 在進行以下操作時,需啟動oracle服務。a 進入sql介面 開始 執行 cmd 輸入sqlplus 回車 提示輸入正確的使用者名稱和密碼 b 開始 所有程式 oracle的 執行sql命令 直接採用conn 使用者名稱 密碼 進入 使用者名稱 預設的是 sys,s...