• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-341  評論-2670  文章-0  trackbacks-0
                考慮以下代碼:
            1 def overloading x = "General overloading"
            2 func overloading::string->string
            3 def overloading str = "String overloading"
            4 func overloading T::list T->string
            5 def overloading xs = "List overloading"

                這是三個函數,類型分別為:
            1     func overloading T1 :: (<T1> -> (system.list system.char)) codefrom 125
            2     func overloading :: ((system.list system.char-> (system.list system.char)) codefrom 127
            3     func overloading T1 :: ((system.list <T1>-> (system.list system.char)) codefrom 129

                所以當我們寫overloading的時候,究竟選擇什么呢?三個類型都是可以接受的,而且都是可以完美通過類型推導的。于是我新加了一個規則。首先求出需要的具體類型(可能是含有參數的類型),然后計算從函數類型到具體類型所需要替換的類型參數的個數以及每個類型參數的解,最后計算出一個系數=數量×65536+解的深度和。

                深度的規定比較簡單,基本類型深度為1,閉包類型為參數和結果兩種類型的深度的最大值加1,帶有參數的類型等于最大參數深度加1。所以在這個例子上,我們可以得到,T1到list char的解為T1=list char,list char到list char的解為0,list T1到list char的解為T1=char,系數分別是65538、0和65537,所以理所當然地挑選了第二個。下面看例子:
            1 def main114 = overloading 1024
            2 def main115 = overloading "Genius Vczh!"
            3 def main116 = overloading [1,2,3]

                下面是運行結果:
            1 main114返回值:"General overloading"
            2 main115返回值:"String overloading"
            3 main116返回值:"List overloading"
            posted on 2008-12-14 19:42 陳梓瀚(vczh) 閱讀(1467) 評論(0)  編輯 收藏 引用 所屬分類: 腳本技術
            午夜精品久久久久久毛片| 久久综合狠狠综合久久97色| 久久精品一本到99热免费| 一级a性色生活片久久无 | 亚洲狠狠婷婷综合久久蜜芽 | 91亚洲国产成人久久精品网址| 国产福利电影一区二区三区久久老子无码午夜伦不 | 国产精品va久久久久久久| 久久精品国产99久久丝袜| 久久精品久久久久观看99水蜜桃 | 国产亚洲婷婷香蕉久久精品| 久久久久久国产精品无码下载| 国产一区二区久久久| 99久久婷婷国产综合亚洲| 理论片午午伦夜理片久久| 国产亚洲精品美女久久久| 色99久久久久高潮综合影院 | 久久久久久极精品久久久| 久久人人爽人人爽人人片AV高清| 少妇精品久久久一区二区三区| 国产精品免费久久久久电影网| 五月丁香综合激情六月久久 | 久久久久人妻一区精品| 麻豆一区二区99久久久久| 久久人人爽人人爽人人片AV东京热| 久久久久久国产精品无码超碰| 合区精品久久久中文字幕一区| 久久精品国产一区| 精品国产一区二区三区久久久狼| 久久久久久国产a免费观看黄色大片 | 97久久国产露脸精品国产| 久久精品国产精品亚洲人人| 久久噜噜电影你懂的| 99久久久精品免费观看国产| 欧洲人妻丰满av无码久久不卡| 97精品伊人久久大香线蕉| 欧美精品丝袜久久久中文字幕| 久久国产成人午夜AV影院| 欧美激情精品久久久久| 国产国产成人精品久久| 91精品国产高清91久久久久久|