<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jinfeng_wang

    G-G-S,D-D-U!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
    http://www.runoob.com/scala/functions-call-by-name.html


    Scala的解釋器在解析函數參數(function arguments)時有兩種方式:

    • 傳值調用(call-by-value):先計算參數表達式的值,再應用到函數內部;
    • 傳名調用(call-by-name):將未計算的參數表達式直接應用到函數內部

    在進入函數內部前,傳值調用方式就已經將參數表達式的值計算完畢,而傳名調用是在函數內部進行參數表達式的值計算的。

    這就造成了一種現象,每次使用傳名調用時,解釋器都會計算一次表達式的值。

    object Test { def main(args: Array[String]) { delayed(time()); } def time() = { println("獲取時間,單位為納秒") System.nanoTime } def delayed( t: => Long ) = { println("在 delayed 方法內") println("參數: " + t) t } }

    以上實例中我們聲明了 delayed 方法, 該方法在變量名和變量類型使用 => 符號來設置傳名調用。執行以上代碼,輸出結果如下:

    $ scalac Test.scala $ scala Test  delayed 方法內 獲取時間,單位為納秒 參數: 241550840475831 獲取時間,單位為納秒

    實例中 delay 方法打印了一條信息表示進入了該方法,接著 delay 方法打印接收到的值,最后再返回 t。

    posted on 2016-12-16 11:42 jinfeng_wang 閱讀(300) 評論(0)  編輯  收藏 所屬分類: 2016SCALA

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲成a人片在线观看天堂无码| 国产亚洲av片在线观看播放| 亚洲欧洲日韩国产综合在线二区| 国产在线观看免费视频软件| 国产成人精品日本亚洲专区61| 羞羞视频在线观看免费| 亚洲成av人片天堂网老年人| 全黄A免费一级毛片| 亚洲A∨精品一区二区三区| 黄色毛片视频免费| 狠狠亚洲婷婷综合色香五月排名| 久青草视频97国内免费影视| 亚洲成AV人片在线观看WWW| 免费人妻无码不卡中文字幕系 | 九九久久精品国产免费看小说| 四虎影视永久免费观看网址| 欧洲亚洲综合一区二区三区| 亚洲精品无码久久久久AV麻豆| 久久久受www免费人成| 亚洲今日精彩视频| 国产又黄又爽又猛免费app| 日本亚洲中午字幕乱码| 亚洲熟女少妇一区二区| 精品无码免费专区毛片| 久久亚洲欧美国产精品| 亚洲精品亚洲人成人网| 男女做羞羞的事视频免费观看无遮挡| 亚洲精品美女久久7777777| 国产成人精品日本亚洲专区 | 亚洲乱亚洲乱妇无码| 亚洲精品一级无码鲁丝片| 国产三级在线免费| 亚洲精品免费网站| 国产成人亚洲精品91专区手机| 久久中文字幕免费视频| 亚洲精品日韩一区二区小说| 亚洲熟女少妇一区二区| 天天摸天天操免费播放小视频| 中国极品美軳免费观看| 亚洲人成www在线播放| 亚洲日韩欧洲乱码AV夜夜摸|