第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Scala程序設(shè)計(jì)—基礎(chǔ)篇

辰方 其它
難度初級(jí)
時(shí)長(zhǎng) 2小時(shí)13分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.63
93人評(píng)價(jià) 查看評(píng)價(jià)
9.8 內(nèi)容實(shí)用
9.6 簡(jiǎn)潔易懂
9.5 邏輯清晰
  • object sortDemo {
    ?def qSort(a: List[Int]): List[Int] = {
    ? ?if (a.length < 2) a
    ? ?else qSort(a.filter(a.head > _)) ++
    ? ?a.filter(a.head == _) ++
    ? ?qSort(a.filter(a.head < _))
    ?}

    ?def main(args: Array[String]): Unit = {
    ? ?println(qSort(List(6,4,5,3,1,2,9,8,0)))
    ?}
    }

    查看全部
    0 采集 收起 來(lái)源:Scala 快速排序案例

    2022-12-06

  • 實(shí)現(xiàn)快速排序

    查看全部
    0 采集 收起 來(lái)源:Scala 快速排序案例

    2022-12-06

  • Map

    定義一個(gè)Map: val p = Map(1 -> "David", 9 -> "Bob")

    取出值:p(key), 比如:p(1), p(9)

    判斷key是不是在map中: p.contains(key)

    取出所有key: p.keys

    取出所有值:p.values

    添加一個(gè)鍵值: p + (8 -> "Tom")

    刪除一個(gè)鍵值: p - 1

    添加多個(gè)鍵值對(duì): p ++ List(2-> "Alice", 5 -> "piter")

    減去多個(gè)鍵值對(duì): p -- List(1, 9, 2)

    http://img1.sycdn.imooc.com//638e278e000100dc11320571.jpg

    http://img1.sycdn.imooc.com//638e285b0001dfdc12780543.jpg

    http://img1.sycdn.imooc.com//638e289f00014c1511880310.jpg

    查看全部
    0 采集 收起 來(lái)源:Scala toupe與map

    2022-12-06

  • Tuple(元組):

    定義2個(gè)字段的元組? (1,2) 或? 1 ->2

    訪問(wèn)元組中的元素: z._1 (z元組的第一分量)


    Map[K,V]:

    定義Map?? val? p = Map(1? ->? "David",9 ? ->"Lili")

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Map(1 -> David, 9 -> Lili)?

    p(1)?????? David?? 取p Map 的值

    p.contains(1)?? 判斷key在不在? p Map中

    p.keys?? 取所有key

    p.values? 取所有value

    p + ( k -> v)? 添加值

    p -? k??? 刪除值

    p? ++ List(k -> v ,k -> v)? 添加多個(gè)值

    p? --? List(k,k)? 減去多個(gè)值

    查看全部
    0 采集 收起 來(lái)源:Scala toupe與map

    2022-12-06

  • Stream 惰性求值

    http://img1.sycdn.imooc.com//638e23ad0001b53c09300399.jpg

    查看全部
    0 采集 收起 來(lái)源:Scala Rang與Stream

    2022-12-06

  • Range(整數(shù)序列):

    生成Range

    1 to 10???? Range(1,2,3,4,5,6,7,8,9,10)

    1 to 10? by 2??? Range(1,3,5,7,9)

    1 until 10? Range(1,2,3,4,5,6,7,8,9)

    Stream(惰性求值列表):

    列表的第一個(gè)值確定,其他值在使用時(shí)才會(huì)計(jì)算

    1? #::? 2 #:: 3 #::? Stream.empty ? ? ? ? ? ? ?? Stream(1,? ?)

    val? stream = (1? to? 1000000).toStream???? Stream(1, ?)

    .head? 第一個(gè)值

    .tail???? 第一個(gè)值后面的所有值

    查看全部
    0 采集 收起 來(lái)源:Scala Rang與Stream

    2022-12-06

  • 集合的歸約:

    reduceLeft(匿名函數(shù)):將集合中的元素,按匿名函數(shù)的規(guī)則進(jìn)行處理,處理的結(jié)果的類(lèi)型和集合元素的類(lèi)型一致

    reduceLeft(op:? (T,T)? => T)

    foldLeft(初始值)(匿名函數(shù)):將集合中的元素與初始值,按匿名函數(shù)的規(guī)則進(jìn)行處理,處理的結(jié)果類(lèi)型與初始值類(lèi)型一致。

    foldLeft(z? : U)(op: (U,? T) =>U)

    查看全部
    0 采集 收起 來(lái)源:Scala reduceLeft與flodLeft

    2022-12-06

  • List高階函數(shù):

    map:根據(jù)函數(shù)規(guī)則對(duì)List中的每個(gè)參數(shù)做映射

    c.map(x=>x.toUpperCase) 等價(jià)于 c.map( _.toUpperCase? )

    與filter不同:filter的規(guī)則是Boolean類(lèi)型的

    flatMap:將多層的List打平

    http://img1.sycdn.imooc.com//638e1ffb0001f81709010483.jpg

    http://img1.sycdn.imooc.com//638e20490001729d08520478.jpg

    查看全部
    0 采集 收起 來(lái)源:Scala list-map

    2022-12-06

  • List的高階函數(shù):

    filter(判斷函數(shù)):遍歷集合,保留符合判斷函數(shù)的元素

    toList:將字符串變成List[Char]集合

    takeWhile(判斷函數(shù)):遍歷集合,根據(jù)判斷函數(shù)截取集合元素

    http://img1.sycdn.imooc.com//638e1dda00012c4b10160477.jpg

    查看全部
    0 采集 收起 來(lái)源:Scala list高級(jí)使用

    2022-12-06

  • //for
    for?{
    ????x?<-?xs
    ????y=?x+1
    ????if(y>0)
    }yield?y
    
    //if
    if?(exp)?valA?else?valB

    查看全部
    0 采集 收起 來(lái)源:Scala基礎(chǔ) if與for

    2022-04-02

  • 函數(shù) 代碼塊

    def?function(?param:?ParamType):?ReturenType={
    ????//body
    }


    查看全部
  • 三種變量修飾符
    val?定義常量,不可修改
    var?定義變量
    lazy?val?只要第一次使用到時(shí)候,才會(huì)運(yùn)算表達(dá)式得到值
    可以不顯示指定變量的類(lèi)型,因?yàn)镾cala會(huì)自動(dòng)進(jìn)行類(lèi)型推導(dǎo)

    Unit類(lèi)型: 類(lèi)似Java的Void, 一般作為函數(shù)返回值

    有Unit一般是副作用,因?yàn)楹瘮?shù)沒(méi)返回值


    異常值: ()Nothiong


    String
    - 構(gòu)建于Java的String之上
    - 新增了字符串插值(interpolation)的特性

    ```scala
    val?myname?=?"lizhy"?\\?creating?a?String
    s"My?name?is?${myname}"?\\?String?interpolation
    ```

    在scala語(yǔ)言中,所有的事物都是對(duì)象

    查看全部
  • 在計(jì)算機(jī)科學(xué)領(lǐng)域,函數(shù)式編程是一種編程范式,它是一種構(gòu)建計(jì)算機(jī)程序結(jié)構(gòu)的方法和風(fēng)格,它把程序當(dāng)做數(shù)學(xué)函數(shù)的求值過(guò)程并且避免了改變狀態(tài)和可變的數(shù)據(jù)。
    二、函數(shù)式編程的重要概念:
    2.1 純函數(shù)(Pure Function),或函數(shù)的純粹性(Purity),沒(méi)有副作用(Side Effect)。
    副作用是狀態(tài)的變化(mutation):例子:修改全局變量,拋出異常,IO讀寫(xiě),調(diào)用有副作用的函數(shù)。

    2.2 引用透明(Referential Transparency):對(duì)于相同的輸入,總是得到相同的輸出。
    如果f(x)的參數(shù)x和函數(shù)體都是引用透明的,那么函數(shù)f是純函數(shù)。

    2.3 不變性(Immutability)為了獲得引用透明性,任何值都不能變化。
    2.4 函數(shù)是一等公民(First-class Function):一切都是計(jì)算,函數(shù)式編程中只有表達(dá)式,變量、函數(shù)都是表達(dá)式。
    三、高階函數(shù)(Higher order Function)
    閉包(Closure)
    表達(dá)式求值策略:嚴(yán)格求值非嚴(yán)格求值 ?Call By Value ?vs. ?Call By Name
    惰性求值(Lazy Evaluation):定義表達(dá)式不會(huì)立即求值,用到后才會(huì)求值。
    遞歸函數(shù),函數(shù)式編程沒(méi)有循環(huán),循環(huán)由遞歸實(shí)現(xiàn)。調(diào)優(yōu)遞歸:尾遞歸。

    查看全部
  • Scalable編程語(yǔ)言。
    純正的面向?qū)ο?/strong>語(yǔ)言。
    函數(shù)式語(yǔ)言。
    構(gòu)建于jvm之上,能互相直接調(diào)用,無(wú)縫和java互操作。

    JAVA和SCALA互相直接調(diào)用!

    查看全部
    0 采集 收起 來(lái)源:課程介紹

    2022-04-01

  • http://img1.sycdn.imooc.com//606187dd0001074407710427.jpg

    查看全部
    0 采集 收起 來(lái)源:Scala 快速排序案例

    2021-03-29

  • http://img1.sycdn.imooc.com//606187dd0001074407710427.jpg

    快排

    查看全部
    0 采集 收起 來(lái)源:Scala 快速排序案例

    2021-03-29

  • http://img1.sycdn.imooc.com//606187dd0001074407710427.jpg

    快排

    查看全部
    0 采集 收起 來(lái)源:Scala 快速排序案例

    2021-03-29


  • http://img1.sycdn.imooc.com//6061372c0001621a08050686.jpg

    查看全部
  • 柯里化

    http://img1.sycdn.imooc.com//605ab0d10001bdfa05490244.jpg

    http://img1.sycdn.imooc.com//605ab10600016ed304500216.jpg

    查看全部
    0 采集 收起 來(lái)源:Scala 柯里化

    2021-03-24

  • 高階函數(shù)

    http://img1.sycdn.imooc.com//605aa6e60001939e05760304.jpg

    查看全部
  • 列子2

    http://img1.sycdn.imooc.com//605aa63d0001bec104740332.jpg

    返回1

    bar(1,loop)? ? 先1進(jìn)行計(jì)算,返回1,方法體沒(méi)用到loop 不被調(diào)用

    bar(loop,1)一直循環(huán)? ? ? ? ?先loop進(jìn)行計(jì)算,無(wú)法返回

    查看全部
    0 采集 收起 來(lái)源:求值策略

    2021-03-24

  • 例子

    http://img1.sycdn.imooc.com//605aa553000134b205840315.jpg

    查看全部
    0 采集 收起 來(lái)源:求值策略

    2021-03-24

  • 求值策略

    http://img1.sycdn.imooc.com//605a9da9000101cb05270286.jpg

    查看全部
    0 采集 收起 來(lái)源:求值策略

    2021-03-24

  • match = java 的switch


    http://img1.sycdn.imooc.com//605a9cca00019f8904330324.jpg

    查看全部
首頁(yè)上一頁(yè)1234567下一頁(yè)尾頁(yè)

舉報(bào)

0/150
提交
取消
課程須知
本課程是Scala的基礎(chǔ)教程,雖然對(duì)學(xué)員的基礎(chǔ)不做要求,但是學(xué)員最好有一門(mén)編程語(yǔ)言的經(jīng)驗(yàn),這樣會(huì)更容易理解課程里的一些概念。
老師告訴你能學(xué)到什么?
1、函數(shù)式編程的基本概念 2、Scala的開(kāi)發(fā)環(huán)境 3、高階函數(shù) 4、表達(dá)式求值策略 5、Scala Immutable Collection簡(jiǎn)介

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買(mǎi)該課程,無(wú)需重復(fù)購(gòu)買(mǎi),感謝您對(duì)慕課網(wǎng)的支持!