成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Scala允許的重復(fù)參數(shù)

開發(fā) 后端
本文節(jié)選自Martin Odersky,Lex Spoon和Bill Venners所著,Regular翻譯的《Programming in Scala》的第八章。Scala是一種針對(duì) JVM 將函數(shù)和面向?qū)ο蠹夹g(shù)組合在一起的編程語言。

Scala允許你指明函數(shù)的***一個(gè)參數(shù)可以是重復(fù)的。這可以允許客戶向函數(shù)傳入可變長(zhǎng)度參數(shù)列表。想要標(biāo)注一個(gè)重復(fù)參數(shù),在參數(shù)的類型之后放一個(gè)星號(hào)。例如:

  1. scala> def echo(args: String*) =  
  2.  for (arg < - args) println(arg)  
  3. echo: (String*)Unit  

51CTO編輯推薦:Scala編程語言專題

這樣定義,echo可以被零個(gè)至多個(gè)String參數(shù)調(diào)用:

  1. scala> echo()  
  2. scala> echo("one")  
  3. one  
  4. scala> echo("hello""world!")  
  5. hello  
  6. world! 
函數(shù)內(nèi)部,重復(fù)參數(shù)的類型是聲明參數(shù)類型的數(shù)組。因此,echo函數(shù)里被聲明為類型“String*”的args的類型實(shí)際上是Array[String]。然而,如果你有一個(gè)合適類型的數(shù)組,并嘗試把它當(dāng)作重復(fù)參數(shù)傳入,你會(huì)得到一個(gè)編譯器錯(cuò)誤:

  1. scala> val arr = Array("What's""up""doc?")  
  2. arr: Array[java.lang.String] = Array(What's, up, doc?)  
  3. scala> echo(arr)  
  4. < console>:7: error: type mismatch;  
  5.  found : Array[java.lang.String]  
  6.  required: String  
  7.  echo(arr)  
  8.  ˆ  
要實(shí)現(xiàn)這個(gè)做法,你需要在數(shù)組參數(shù)后添加一個(gè)冒號(hào)和一個(gè)_*符號(hào),像這樣:

  1. scala> echo(arr: _*)  
  2. What's  
  3. up  
  4. doc?  

這個(gè)標(biāo)注告訴編譯器把a(bǔ)rr的每個(gè)元素當(dāng)作參數(shù),而不是當(dāng)作單一的參數(shù)傳給echo。

【相關(guān)閱讀】

  1. 學(xué)習(xí)Scala的閉包
  2. Scala的偏應(yīng)用函數(shù)
  3. Scala:函數(shù)文本的短格式和占位符語法
  4. 介紹Scala的***類函數(shù)
  5. Scala的本地函數(shù):將私有方法轉(zhuǎn)換為本地方法

責(zé)任編輯:book05 來源: Artima
相關(guān)推薦

2009-07-22 07:45:00

Scala代碼重復(fù)

2009-07-09 00:25:00

Scala參數(shù)化

2009-07-22 07:53:00

Scala無參數(shù)方法

2009-07-22 07:50:00

Scala傳名參數(shù)

2009-07-08 12:43:59

Scala ServlScala語言

2020-10-31 17:33:18

Scala語言函數(shù)

2010-09-14 15:34:41

Scala

2009-07-08 09:47:49

Scala 2.8Scala

2009-11-16 17:04:46

Inside Scal

2009-07-22 08:34:47

Scala方法和字段

2009-10-19 11:26:08

Scala循環(huán)數(shù)組

2009-12-09 09:15:47

從Java走進(jìn)ScalTwitter API

2009-06-16 17:54:38

Scala類語法語義

2009-08-21 16:17:25

ScalaTwitter API

2009-07-22 07:42:00

Scala偏應(yīng)用函數(shù)

2009-07-21 16:58:31

Scala變量范圍

2009-09-28 11:01:39

從Java走進(jìn)Scal

2009-07-22 07:43:00

Scala閉包

2020-07-23 17:40:03

神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)參數(shù)共享

2009-07-21 12:18:37

ScalaRational對(duì)象toString
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲视频欧美视频 | 欧美色人 | 国产精品久久久久久久三级 | 日韩视频在线观看中文字幕 | 亚洲成人精品 | 日本精品一区二区三区四区 | 免费网站在线 | 少妇无套高潮一二三区 | 中文字幕三区 | 一区二区三区日本 | 瑟瑟激情 | 日本免费在线观看视频 | 精品视频在线观看 | 欧美一级特黄aaa大片在线观看 | 国产黑丝av | 91高清在线观看 | 色网站入口 | 成人黄在线观看 | 水蜜桃久久夜色精品一区 | 久久久久久久久久一区 | 精品乱码一区二区三四区 | 亚洲国产情侣自拍 | 中文字幕在线视频免费视频 | 91欧美激情一区二区三区成人 | 亚洲一区二区免费 | 日韩中文字幕一区二区三区 | 亚洲成av人片在线观看 | 中文字幕在线观看精品 | 日韩视频在线免费观看 | 日韩二三区 | 成人毛片视频免费 | 国产精品久久久久久 | 国产在线精品一区二区 | 在线看免费 | 日韩一区二区三区视频 | 国产视频一区二区 | 97天天干 | 国产综合网址 | 97精品超碰一区二区三区 | 天天天堂 | a在线视频 |