精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Scala的操作符:任何方法都可以是操作符

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

Scala為它的基本類(lèi)型提供了豐富的操作符集。這些操作符實(shí)際只是作用在普通方法調(diào)用上華麗的語(yǔ)法。例如,1 + 2與(1).+(2)其實(shí)是一回事。換句話說(shuō),就是Int類(lèi)包含了叫做+的方法,它帶一個(gè)Int參數(shù)并返回一個(gè)Int結(jié)果。這個(gè)+方法在兩個(gè)Int相加時(shí)被調(diào)用:

51CTO編輯推薦:Scala編程語(yǔ)言專(zhuān)題

  1. scala> val sum = 1 + 2 // Scala調(diào)用了(1).+(2)  
  2. sum: Int = 3 
想要證實(shí)這點(diǎn),可以把表達(dá)式顯式地寫(xiě)成方法調(diào)用:

  1. scala> val sumMore = (1).+(2)  
  2. sumMore: Int = 3 
而真正的事實(shí)是,Int包含了許多帶不同的參數(shù)類(lèi)型的重載:overload的+方法。重載的方法有同樣的名稱和不同的參數(shù)類(lèi)型。例如,Int還有另一個(gè)也叫+的方法參數(shù)和返回類(lèi)型為L(zhǎng)ong。如果你把Long加到Int上,這個(gè)替換的+方法就將被調(diào)用:

  1. scala> val longSum = 1 + 2L // Scala調(diào)用了(1).+(2L)  
  2. longSum: Long = 3 
符號(hào)+是操作符——更明確地說(shuō),是中綴操作符。操作符標(biāo)注不僅限于像+這種其他語(yǔ)言里看上去像操作符一樣的東西。你可以把任何方法都當(dāng)作操作符來(lái)標(biāo)注。例如,類(lèi)String有一個(gè)方法indexOf帶一個(gè)Char參數(shù)。indexOf方法搜索String里***次出現(xiàn)的指定字符,并返回它的索引或-1如果沒(méi)有找到。你可以把indexOf當(dāng)作中綴操作符使用,就像這樣:

  1. scala> val s = "Hello, world!" 
  2. s: java.lang.String = Hello, world!  
  3. scala> s indexOf 'o' // Scala調(diào)用了s.indexOf(’o’)  
  4. res0: Int = 4 
另外,String提供一個(gè)重載的indexOf方法,帶兩個(gè)參數(shù),分別是要搜索的字符和從哪個(gè)索引開(kāi)始搜索。(前一個(gè)indexOf方法開(kāi)始于索引零,也就是String開(kāi)始的地方。)盡管這個(gè)indexOf方法帶兩個(gè)參數(shù),你仍然可以用操作符標(biāo)注的方式使用它。不過(guò)當(dāng)你用操作符標(biāo)注方式調(diào)用帶多個(gè)參數(shù)的方法時(shí),這些參數(shù)必須放在括號(hào)內(nèi)。例如,以下是如何把另一種形式的indexOf當(dāng)作操作符使用的例子(接前例):

  1. scala> s indexOf ('o'5// Scala調(diào)用了s.indexOf(’o’, 5)  
  2. res1: Int = 8 
任何方法都可以是操作符

Scala里的操作符不是特殊的語(yǔ)言語(yǔ)法:任何方法都可以是操作符。使用方法的方式使它成為操作符。如果寫(xiě)成s.indexOf('o'),indexOf就不是操作符。不過(guò)如果寫(xiě)成,s indexOf 'o',那么indexOf就是操作符了,因?yàn)槟阋圆僮鞣麡?biāo)注方式使用它。

目前為止,你已經(jīng)看到了中綴:infix操作符標(biāo)注的例子,也就是說(shuō)調(diào)用的方法位于對(duì)象和傳遞給方法的參數(shù)或若干參數(shù)之間,如“7 + 2”。Scala還有另外兩種操作符標(biāo)注:前綴和后綴。前綴標(biāo)注中,方法名被放在調(diào)用的對(duì)象之前,如,-7里的‘-’。后綴標(biāo)注中,方法放在對(duì)象之后,如,“7 toLong”里的“toLong”。

與中綴操作符——操作符帶后兩個(gè)操作數(shù),一個(gè)在左一個(gè)在右——相反,前綴和后綴操作符都是一元:unary的:它們僅帶一個(gè)操作數(shù)。前綴方式中,操作數(shù)在操作符的右邊。前綴操作符的例子有-2.0,!found和~0xFF。與中綴操作符一致,這些前綴操作符是在值類(lèi)型對(duì)象上調(diào)用方法的簡(jiǎn)寫(xiě)方式。然而這種情況下,方法名在操作符字符上前綴了“unary_”。例如,Scala會(huì)把表達(dá)式-2.0轉(zhuǎn)換成方法調(diào)用“(2.0).unary_-”。你可以輸入通過(guò)操作符和顯式方法名兩種方式對(duì)方法的調(diào)用來(lái)演示這一點(diǎn):

  1. scala> -2.0             // Scala調(diào)用了(2.0).unary_-  
  2. res2: Double = -2.0 
  3. scala> (2.0).unary_-  
  4. res3: Double = -2.0 
可以當(dāng)作前綴操作符用的標(biāo)識(shí)符只有+,-,!和~。因此,如果你定義了名為unary_!的方法,就可以像!p這樣在合適的類(lèi)型值或變量上用前綴操作符方式調(diào)用這個(gè)方法。但是如果你定義了名為unary_*的方法,就沒(méi)辦法用成前綴操作符了,因?yàn)?不是四種可以當(dāng)作前綴操作符用的標(biāo)識(shí)符之一。你可以像平常那用調(diào)用它,如p.unary_*,但如果嘗試像*p這么調(diào)用,Scala就會(huì)把它理解為*.p,這或許就不會(huì)是你想當(dāng)然的了!然而,不是一點(diǎn)兒希望都沒(méi)有。仍然有極微弱的機(jī)會(huì),讓你的帶有*p的程序或許能像C++那樣被編譯。

后綴操作符是不用點(diǎn)或括號(hào)調(diào)用的不帶任何參數(shù)的方法。Scala里,你可以舍棄方法調(diào)用的空括號(hào)。例外就是如果方法帶有副作用就加上括號(hào),如println(),不過(guò)如果方法沒(méi)有副作用就可以去掉括號(hào),如String上調(diào)用的toLowerCase:

  1. scala> val s = "Hello, world!" 
  2. s: java.lang.String = Hello, world!  
  3. scala> s.toLowerCase  
  4. res4: java.lang.String = hello, world!  
后面的這個(gè)例子里,方法沒(méi)帶參數(shù),或者還可以去掉點(diǎn),采用后綴操作符標(biāo)注方式:

  1. scala> s toLowerCase  
  2. res5: java.lang.String = hello, world!  
例子里,toLowerCase被當(dāng)作操作數(shù)s上的后綴操作符。

因此要想知道Scala的值類(lèi)型里你可以用哪些操作符,所有需要做的就是在Scala的API文檔里查詢定義在值類(lèi)型上的方法。

【相關(guān)閱讀】

  1. Scala的基本類(lèi)型及文本化
  2. Scala程序及其Application特質(zhì)
  3. Scala程序中的分號(hào)推斷和Singleton對(duì)象
  4. 學(xué)習(xí)Scala類(lèi)的定義,字段和方法
  5. 學(xué)習(xí)Scala腳本:從文件里讀取行記錄
責(zé)任編輯:book05 來(lái)源: Artima
相關(guān)推薦

2009-07-21 12:47:04

Scala私有字段定義操作符

2021-10-31 18:59:55

Python操作符用法

2010-07-14 14:55:07

Perl操作符

2009-08-19 17:26:28

C# 操作符

2010-07-19 11:00:24

Perl操作符

2011-04-08 16:26:14

JavaScript

2010-07-14 14:30:31

Perl操作符

2009-09-15 17:16:58

LINQ查詢操作符

2012-02-06 09:13:23

LINQ

2010-07-14 14:18:51

Perl操作符

2009-09-16 09:09:23

Linq Contai

2009-12-11 10:43:00

Scala講座操作符函數(shù)

2010-07-13 11:11:39

Perl標(biāo)量

2009-11-30 16:48:08

PHP操作符

2009-07-14 18:34:22

Jython操作符重載

2010-01-28 11:16:28

C++操作符

2009-07-21 09:31:00

Scala數(shù)學(xué)運(yùn)算邏輯操作位操作符

2016-12-28 09:54:50

AndroidRxJava操作符

2017-01-03 16:12:13

RxJava操作符Android

2009-07-21 08:41:05

Scala操作符優(yōu)先級(jí)
點(diǎn)贊
收藏

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

久久久高清一区二区三区| 嫩草影视亚洲| 亚洲午夜电影在线观看| 国产精品区一区二区三在线播放| 伊人久久综合视频| 国产aⅴ精品一区二区三区久久| 欧洲精品中文字幕| 成年人视频大全| 男人的天堂av高清在线| 国产专区综合网| 2018国产精品视频| 永久免费未视频| 日韩精品导航| 欧美精品亚洲二区| 欧美日韩成人免费视频| 日本三级在线视频| 97se狠狠狠综合亚洲狠狠| 国产欧美日韩精品专区| 日韩av在线播放观看| 欧美日韩国产免费观看视频| 欧美精品一区二区蜜臀亚洲| 中文字幕永久视频| 9999精品成人免费毛片在线看| 国产欧美日韩亚州综合 | 国产网站一区二区| 国产aⅴ精品一区二区三区黄| 免费黄色av片| 亚洲区国产区| 欧美精品日韩三级| 日韩av片在线免费观看| 日韩最新在线| 精品国产91久久久久久久妲己 | 国产亚洲欧洲997久久综合 | 国产精品劲爆视频| 五月婷婷中文字幕| 亚洲成人原创| 欧美另类第一页| 欧美风情第一页| 精品国产91久久久久久浪潮蜜月| 亚洲第一精品福利| 成人做爰69片免费| 日韩影片在线观看| 欧美一区二区三区啪啪| 男生操女生视频在线观看| 亚洲伦乱视频| 色综合久久综合网97色综合 | avtt天堂在线| 午夜精品一区二区三区国产 | 欧美成人一级视频| 亚洲国产午夜精品| 少妇高潮一区二区三区99| 欧美在线一二三| 黄色片在线免费| 亚洲伦理影院| 欧美天天综合网| 不卡av免费在线| 99蜜月精品久久91| 欧美日韩在线播放一区| 日本 片 成人 在线| 国产亚洲人成a在线v网站 | 亚洲综合中文网| 日韩中文一区二区| 日韩精品一区二区三区视频在线观看 | 日韩中文字幕不卡| 国产精品久久久久久久久久久久| 波多野结衣二区三区| 日韩 欧美一区二区三区| 国产精品自拍网| 国产永久免费视频| 国产精品白丝jk黑袜喷水| 99在线观看| 特级丰满少妇一级aaaa爱毛片| www.欧美日韩| 牛人盗摄一区二区三区视频| 超碰免费97在线观看| 国产精品成人免费| 欧美性受黑人性爽| 黑人玩欧美人三根一起进| 偷拍亚洲欧洲综合| 91看片就是不一样| 欧美黄页免费| 日韩欧美美女一区二区三区| 精品无码国产一区二区三区51安| 欧美做受69| 中文字幕亚洲天堂| 精品无码m3u8在线观看| 久久高清一区| 亚洲xxxx3d| 少妇高潮一区二区三区99小说| 久久这里都是精品| 美国av在线播放| 美女网站在线看| 欧美日韩你懂的| 星空大象在线观看免费播放| 成人3d动漫在线观看| 欧美成人精品在线播放| 欧美啪啪小视频| 精彩视频一区二区三区| 精品国产免费一区二区三区| 91九色在线porn| 亚洲18色成人| 天天色天天综合网| 欧美日韩一区二区三区在线电影 | 一区二区91美女张开腿让人桶| 青草av在线| 欧美网站一区二区| 天堂www中文在线资源| 日韩在线观看电影完整版高清免费悬疑悬疑| 免费99精品国产自在在线| 中文字幕视频网站| 国产超碰在线一区| 中文字幕一区二区中文字幕| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 成人毛片在线观看| 亚洲一区二区精品在线观看| 英国三级经典在线观看| 欧美一二三四区在线| 日韩免费成人av| aa国产精品| 99久久久精品免费观看国产| 日本中文字幕在线看| 黑人巨大精品欧美一区免费视频 | 色婷婷av一区二区三区之红樱桃| 国产精品国产三级国产aⅴ无密码| 熟女少妇在线视频播放| 综合成人在线| 久久91精品国产91久久跳| 亚洲天堂777| 国产三区在线成人av| 香港三级韩国三级日本三级| 亚洲高清在线一区| 久久天天躁日日躁| 在线观看中文字幕av| 久久日韩粉嫩一区二区三区| 人妻久久久一区二区三区| 久久久久久久久久久久电影| www.色综合| 国产精品100| 99久久综合国产精品| 免费高清一区二区三区| 亚洲成人影音| 欧美激情免费观看| www.香蕉视频| 一卡二卡欧美日韩| 少妇丰满尤物大尺度写真| 在线成人激情| 69堂成人精品视频免费| 91三级在线| 日韩欧美在线观看一区二区三区| 天海翼在线视频| 精品一区二区三区免费视频| 自拍偷拍亚洲色图欧美| 五月天色综合| 欧美成人免费全部观看天天性色| 国产免费不卡视频| 亚洲欧美激情视频在线观看一区二区三区 | 国产一级精品在线| 欧美 国产 精品| 日韩一区二区三区精品视频第3页 日韩一区二区三区精品 | 在线观看欧美日本| 大吊一区二区三区| 国内精品伊人久久久久影院对白| 中文字幕成人一区| 狂野欧美xxxx韩国少妇| 久久久久久18| 日韩av资源站| 色婷婷狠狠综合| 呻吟揉丰满对白91乃国产区| 黄色小说综合网站| 成人国产在线看| 牛牛视频精品一区二区不卡| 51午夜精品视频| 国产福利电影在线| 91麻豆精品国产91久久久久久久久 | 成人网在线免费观看| 怡红院在线播放| 日韩国产在线看| 一区二区自拍偷拍| 一区二区三区欧美| 欧美特黄一区二区三区| 麻豆成人久久精品二区三区小说| 麻豆映画在线观看| 丝袜av一区| 成人av资源在线播放| av中文在线资源库| 日韩网站免费观看高清| 国产成人三级在线观看视频| 色婷婷综合久久久久中文一区二区 | 亚洲福利电影网| 人妻aⅴ无码一区二区三区| 国内成人精品2018免费看| 成人一对一视频| 国产高清久久| 欧美精品在线一区| 国产一区二区三区亚洲综合| 欧美又大又粗又长| 成人av黄色| 亚洲全黄一级网站| www.好吊色| 欧美色男人天堂| 日韩av片在线播放| 亚洲美女在线国产| 欧美做受xxxxxⅹ性视频| 国产一区不卡精品| 日本在线观看免费视频| 亚洲人成毛片在线播放女女| 在线成人av电影| 九九精品在线| 国产精品sss| 日韩午夜视频在线| 国产精品激情自拍| 男人av在线播放| 九九精品在线观看| 欧美精品hd| 一本色道久久综合亚洲精品小说 | 国产欧美视频一区二区| 污污污www精品国产网站| 国内一区二区在线| 午夜精品中文字幕| 日韩极品在线观看| 欧美精品一区免费| 亚洲国产午夜| 国产91沈先生在线播放| 成人vr资源| 日本成人三级电影网站| 精品淫伦v久久水蜜桃| 成人动漫视频在线观看完整版| 国产精品传媒麻豆hd| 日韩av观看网址| 色综合桃花网| 97视频在线观看亚洲| 手机在线免费观看av| 欧美成人精品在线观看| 黄色免费在线看| 久久精品精品电影网| 最新av网站在线观看| 一区二区三区四区视频| 好男人免费精品视频| 精品亚洲精品福利线在观看| 欧美熟妇乱码在线一区| 欧美va在线播放| 国内老熟妇对白xxxxhd| 日韩午夜激情免费电影| 国产高清免费观看| 日韩精品专区在线影院重磅| 国产精品欧美亚洲| 3751色影院一区二区三区| 艳妇乳肉豪妇荡乳av| 欧美视频在线不卡| 一区二区视频免费| 欧美日韩国产综合久久| 一本一道人人妻人人妻αv| 欧美日韩一区在线| 国产伦子伦对白视频| 日韩一区二区免费电影| 丰满肥臀噗嗤啊x99av| 精品久久久网站| 外国精品视频在线观看| 亚洲乱亚洲乱妇无码| 久久精品国产亚洲a∨麻豆| 亚洲日韩欧美视频| 69久久夜色| 久久亚洲一区二区三区四区五区高| 米奇精品一区二区三区| 欧美精品在线免费| 97人人爽人人澡人人精品| 日本aⅴ大伊香蕉精品视频| 超碰国产一区| 国产精品永久在线| 免费精品一区| 国产一区二区无遮挡| 九九热线有精品视频99| 亚洲欧美成人一区| 中文字幕亚洲综合久久五月天色无吗''| mm131午夜| 亚洲高清久久| 国产天堂在线播放| 狠狠色丁香婷婷综合久久片| 欧美图片自拍偷拍| 久久先锋影音av| 免费成人美女女在线观看| 一区二区三区不卡视频 | 欧美日韩一区二区在线观看视频| 91影院在线播放| 精品福利av导航| 成人高潮成人免费观看| 免费不卡欧美自拍视频| 韩国主播福利视频一区二区三区| 国产专区欧美专区| 红杏视频成人| 亚洲国产一区在线| 极品av少妇一区二区| 成人亚洲精品777777大片| 高清不卡一区二区在线| 极品蜜桃臀肥臀-x88av| 亚洲一区在线播放| 老熟妇一区二区三区啪啪| 欧美大胆一级视频| yw视频在线观看| 97精品在线观看| 91久久青草| 青青草原成人| 在线看片欧美| 亚洲男人天堂2021| 久久久久国产精品麻豆| 18精品爽视频在线观看| 欧美日韩在线电影| 免费毛片在线| 久久久久久久色| 亚洲aⅴ网站| 日韩av图片| 日韩午夜在线| 97中文字幕在线观看| 中文字幕日本乱码精品影院| 懂色av蜜臀av粉嫩av分享吧最新章节| 日韩三级在线观看| 免费的黄网站在线观看| 国产成人精品视频在线观看| www.神马久久| 红桃一区二区三区| 精品一区二区免费视频| 亚洲av成人无码久久精品| 精品欧美国产一区二区三区| 亚洲av无码一区二区三区性色| www.日韩.com| 日韩成人在线一区| 日韩欧美一区二区三区四区五区| 99国产精品99久久久久久粉嫩| 亚洲免费观看在线| 一区二区三区国产豹纹内裤在线| 国产精品熟女久久久久久| 中文字幕亚洲在线| 国产精品99久久久久久董美香| 日本免费高清一区二区| 国产亚洲精品久久久久婷婷瑜伽| 国产香蕉精品视频| 亚洲国产你懂的| 丰满肥臀噗嗤啊x99av| 九九热视频这里只有精品| 成人污版视频| 影音先锋男人的网站| 国产在线视频不卡二| 小向美奈子av| 欧美一级在线视频| 18视频在线观看网站| 91在线播放视频| 国产综合网站| 日韩少妇一区二区| 精品国产精品三级精品av网址| 欧美 日韩 中文字幕| 国模私拍视频一区| 欧美电影免费网站| 免费黄色特级片| 亚洲国产精品黑人久久久 | 亚洲成人黄色网| 欧美私密网站| 欧美精品一区二区三区在线看午夜 | 欧美日韩爱爱视频| 丁香综合av| 97国产精东麻豆人妻电影| 久久久久国产精品麻豆ai换脸 | 亚洲午夜精品福利| 激情五月婷婷综合| 九九热精品免费视频| 亚洲国产一区自拍| 欧美激情喷水| 中文字幕欧美日韩一区二区三区 | 欧美视频www| 日韩久久精品一区| 亚洲伊人av| 亚洲一区二区不卡视频| 丁香五精品蜜臀久久久久99网站| 日韩精品无码一区二区| 国产一区二区美女视频| 亚洲成人1区| 黄色三级中文字幕| 久久久久久久久一| 国产精品久久久久久免费免熟 | 一区三区二区视频| 国产精品一区二区三区av| 国产一二三在线视频| 国产日韩一级二级三级| av一区二区三| 日本久久久久久久| 欧美成人嫩草网站| 中文字幕在线看高清电影| 8x8x8国产精品| 爱啪啪综合导航| 亚洲一二区在线| 99综合电影在线视频| 伊人免费在线观看| 97视频在线观看免费| 日韩中文欧美| 第四色在线视频| 337p亚洲精品色噜噜狠狠| 亚洲日本天堂| 草草草视频在线观看| 国产欧美日韩综合精品一区二区| www日本高清| 国产精品视频区|