天天看點

scala 學習筆記六 推導

  1、介紹

    在Scala中,推導将生成器、過濾器、和定義組合在一起。

  2、例子

    

scala 學習筆記六 推導

    有一種将result用作val(而不是var)的方式,:“就地”建構result,而不是逐項建構,利用yield關鍵字,當你聲明yield n時,它會把n交出來,使其成為result的一部分,下面的例子

scala 學習筆記六 推導

    yield 總是會填充容器,但是在第194行并沒有聲明result的類型,Scala會從推導要周遊的容器中推斷出類型。還可以在推斷内部定義值。

scala 學習筆記六 推導

    注意:沒有将n和isOdd聲明為val或var。n和isOdd在循環中每次疊代時都會發生變化,但是不能人為修改他們,依靠Scala來完成這個任務。可以将他們看作循環每次疊代時都會設定其值的臨時變量。

    yield表達式也可以組合

scala 學習筆記六 推導

    注意,隻有在推導内部才能不為新辨別符聲明val或var

    推導可以嵌套