• <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
                有了Expected語法之后總是要實驗一下的。現(xiàn)在給出一個非完整函數(shù)eq的聲明,并用一個列表查找函數(shù)使用eq。已知代碼如下:
             1 module main
             2 import system
             3 import sysutils
             4 import list
             5 
             6 func eq T :: T -> T -> bool expected
             7 
             8 def exists e xs =
             9     select xs of
            10         case list x tail : if(eq e x) true (exists e tail)
            11         case empty : false
            12     end
            13 
            14 def eq a b = iequ a b
            15 
            16 def eq a b = fequ a b
            17 
            18 def main score = if (flt score 60.0"fail" "pass"
            19 
            20 def ints = list 1 (list 2 (list 3 empty))
            21 def floats = list 1.0 (list 2.0 (list 3.0 empty))
            22 def chars = "vczh"
            23 
            24 def main2 = exists 0 ints
            25 def main3 = exists 0.0 floats
            26 def main4 = exists 'a' chars

                注意最后一行。由于exists在這里接受字符,但是不存在接受字符的eq,因此輸出錯誤:
            1 生成符號表時發(fā)生錯誤
            2 錯誤[1]    模塊:main    行號:10
            3 信息:符號"eq"無法匹配到函數(shù),類型:(system.char -> (system.char -> system.bool))。

                如果我們把最后一行去掉,則會產(chǎn)生正確的結(jié)果。注意exists的兩個實例所對應的eq是不同的:
              1 【Code Unit main】
              2     module main::main
              3     import list
              4     import system
              5     import sysutils
              6     func eq T :: (<T> -> (<T> -> system.bool)) expected
              7     func chars :: (system.list system.char) codefrom 7
              8     func eq :: (system.int -> (system.int -> system.bool)) codefrom 2
              9     func eq :: (system.float -> (system.float -> system.bool)) codefrom 3
             10     func exists T1 :: (<T1> -> ((system.list <T1>-> system.bool)) codefrom 1
             11     func floats :: (system.list system.float) codefrom 6
             12     func ints :: (system.list system.int) codefrom 5
             13     func main :: (system.float -> (system.list system.char)) codefrom 4
             14     func main2 :: system.bool codefrom 8
             15     func main3 :: system.bool codefrom 9
             16 
             17 【Assembly Unit main】
             18 
             19     [Information]
             20         Name             : main
             21         Function Count   : 9
             22         Slot Count       : 10
             23 
             24     [Function]
             25         Function Name    : chars
             26         Unique Name      : main::chars::#7
             27         Owner Unit       : main
             28         Level            : 0
             29         External Command : 
             30         Instance         : main::chars::#7::(system.list system.char)
             31 
             32     [Function]
             33         Function Name    : eq
             34         Unique Name      : main::eq::#2
             35         Owner Unit       : main
             36         Level            : 0
             37         External Command : 
             38         Instance         : main::eq::#2::(system.int -> (system.int -> system.bool))
             39 
             40     [Function]
             41         Function Name    : eq
             42         Unique Name      : main::eq::#3
             43         Owner Unit       : main
             44         Level            : 0
             45         External Command : 
             46         Instance         : main::eq::#3::(system.float -> (system.float -> system.bool))
             47 
             48     [Function]
             49         Function Name    : exists
             50         Unique Name      : main::exists::#1
             51         Owner Unit       : main
             52         Level            : 0
             53         External Command : 
             54         Instance         : <NULL>
             55 
             56     [Function]
             57         Function Name    : floats
             58         Unique Name      : main::floats::#6
             59         Owner Unit       : main
             60         Level            : 0
             61         External Command : 
             62         Instance         : main::floats::#6::(system.list system.float)
             63 
             64     [Function]
             65         Function Name    : ints
             66         Unique Name      : main::ints::#5
             67         Owner Unit       : main
             68         Level            : 0
             69         External Command : 
             70         Instance         : main::ints::#5::(system.list system.int)
             71 
             72     [Function]
             73         Function Name    : main2
             74         Unique Name      : main::main2::#8
             75         Owner Unit       : main
             76         Level            : 0
             77         External Command : 
             78         Instance         : main::main2::#8::system.bool
             79 
             80     [Function]
             81         Function Name    : main3
             82         Unique Name      : main::main3::#9
             83         Owner Unit       : main
             84         Level            : 0
             85         External Command : 
             86         Instance         : main::main3::#9::system.bool
             87 
             88     [Function]
             89         Function Name    : main
             90         Unique Name      : main::main::#4
             91         Owner Unit       : main
             92         Level            : 0
             93         External Command : 
             94         Instance         : main::main::#4::(system.float -> (system.list system.char))
             95 
             96     [Slot Item]
             97         Unique Name      : main::chars::#7::(system.list system.char)
             98         Parent Slot      : <NULL>
             99         Owner Function   : main::chars::#7
            100 
            101     [Slot Item]
            102         Unique Name      : main::eq::#2::(system.int -> (system.int -> system.bool))
            103         Parent Slot      : <NULL>
            104         Owner Function   : main::eq::#2
            105             3 = system::iequ::$kernelfp::iequ::(system.int -> (system.int -> system.bool))
            106 
            107     [Slot Item]
            108         Unique Name      : main::eq::#3::(system.float -> (system.float -> system.bool))
            109         Parent Slot      : <NULL>
            110         Owner Function   : main::eq::#3
            111             4 = system::fequ::$kernelfp::fequ::(system.float -> (system.float -> system.bool))
            112 
            113     [Slot Item]
            114         Unique Name      : main::exists::#1::(system.float -> ((system.list system.float-> system.bool))
            115         Parent Slot      : <NULL>
            116         Owner Function   : main::exists::#1
            117             0 = sysutils::if::#9::(system.bool -> (system.bool -> (system.bool -> system.bool)))
            118             1 = main::eq::#3::(system.float -> (system.float -> system.bool))
            119             2 = main::exists::#1::(system.float -> ((system.list system.float-> system.bool))
            120 
            121     [Slot Item]
            122         Unique Name      : main::exists::#1::(system.int -> ((system.list system.int-> system.bool))
            123         Parent Slot      : <NULL>
            124         Owner Function   : main::exists::#1
            125             0 = sysutils::if::#9::(system.bool -> (system.bool -> (system.bool -> system.bool)))
            126             1 = main::eq::#2::(system.int -> (system.int -> system.bool))
            127             2 = main::exists::#1::(system.int -> ((system.list system.int-> system.bool))
            128 
            129     [Slot Item]
            130         Unique Name      : main::floats::#6::(system.list system.float)
            131         Parent Slot      : <NULL>
            132         Owner Function   : main::floats::#6
            133 
            134     [Slot Item]
            135         Unique Name      : main::ints::#5::(system.list system.int)
            136         Parent Slot      : <NULL>
            137         Owner Function   : main::ints::#5
            138 
            139     [Slot Item]
            140         Unique Name      : main::main2::#8::system.bool
            141         Parent Slot      : <NULL>
            142         Owner Function   : main::main2::#8
            143             7 = main::exists::#1::(system.int -> ((system.list system.int-> system.bool))
            144             8 = main::ints::#5::(system.list system.int)
            145 
            146     [Slot Item]
            147         Unique Name      : main::main3::#9::system.bool
            148         Parent Slot      : <NULL>
            149         Owner Function   : main::main3::#9
            150             9 = main::exists::#1::(system.float -> ((system.list system.float-> system.bool))
            151             10 = main::floats::#6::(system.list system.float)
            152 
            153     [Slot Item]
            154         Unique Name      : main::main::#4::(system.float -> (system.list system.char))
            155         Parent Slot      : <NULL>
            156         Owner Function   : main::main::#4
            157             5 = sysutils::if::#9::(system.bool -> ((system.list system.char-> ((system.list system.char-> (system.list system.char))))
            158             6 = system::flt::$kernelfp::flt::(system.float -> (system.float -> system.bool))
            posted on 2008-11-02 07:36 陳梓瀚(vczh) 閱讀(1516) 評論(0)  編輯 收藏 引用 所屬分類: 腳本技術
            精品久久久久久99人妻| 久久久久无码精品国产不卡| 久久久一本精品99久久精品88| 久久精品国产99久久香蕉| 久久久国产精品福利免费| 午夜精品久久久久久久| 国产毛片欧美毛片久久久| 久久人妻无码中文字幕| 成人久久免费网站| 久久久噜噜噜www成人网| 国产精品久久久福利| 99久久精品免费观看国产| 亚洲午夜久久久精品影院| 国产三级观看久久| 亚洲一区精品伊人久久伊人| 久久天天躁狠狠躁夜夜2020一 | 日本WV一本一道久久香蕉| 日本精品久久久久久久久免费| 欧美粉嫩小泬久久久久久久| 亚洲欧美精品一区久久中文字幕| 久久只有这里有精品4| 日本欧美久久久久免费播放网| 国内精品久久久久影院日本 | 2020最新久久久视精品爱 | 97久久精品无码一区二区| 狠狠色丁香久久婷婷综| 人人狠狠综合88综合久久| 久久天天躁狠狠躁夜夜avapp| 久久99国产精品久久99| 色诱久久av| 韩国无遮挡三级久久| 久久久中文字幕日本| 日韩精品无码久久久久久| 国产高潮国产高潮久久久91| 97久久国产露脸精品国产 | 国产精品久久久久一区二区三区| 日韩精品久久久久久久电影| 免费国产99久久久香蕉| 伊人久久大香线蕉亚洲| 久久综合狠狠综合久久97色| 国产成人精品白浆久久69|