• <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>
            算法學社
            記錄難忘的征途
            posts - 141,comments - 220,trackbacks - 0

            前奏:

                為毛要寫這個呢... 因為本沙茶除了做算法題和會那么一丁丁丁丁點的Linux基本操作就什么都不會了...
                所以... 不知道為毛就要學這個了... 神經病發作?
                但是figo說要學那就一定學了..........................

            Haskell的安裝

                地址在這里,下面簡述一下本沙茶在安裝的時候遇到的問題(系統為Ubuntu 10.04)。
                安裝之后(之前就不說了,看文檔都會吧...)。運行gchi會遇到一個問題
                
                解決方法在這里

            Simple Arithmetic

                運行gchi
                下面測試一些數學表達式吧
             1 ghci>4/3
             2 1.3333333333333333
             3 ghci> 1+1
             4 2
             5 ghci>1000 *10000000
             6 10000000000
             7 ghci>34 ^ 28
             8 7610438437126150739469436175738091335581696
             9 ghci> 2 --2
            10 2
            11 ghci>2-(-2)
            12 4
            13 ghci>(-) 2 2
            14 0

               需要注意的一些地方:
                  1. 整數/整數 自動轉為浮點數...
            1 ghci>(4/2) ^2
            2 4.0
            3 ghci>2 ^ 2
            4 4
                  上面是證據...
                  2. 負數要加括號
                  3. 算數操作符可以當做函數使用(以后再討論)
                  4. 自動處理高精度

            Boolean Logic, Operators, and Value Comparisons

                  邏輯與 &&
                  邏輯或 ||
                  邏輯非 not
             1 ghci> True && False
             2 False
             3 ghci> True || False
             4 True
             5 ghci> not True || False
             6 False
             7 ghci> not True || True
             8 True
             9 ghci> not (True || True)
            10 False
                  注意not的修飾范圍...
                  與C語言不同的是: 其他類型不可以自動轉化為邏輯類型, 這一點和Java是一樣的...
                  比較運算符有 > < >= <= 和/= 也就是不等于
             1 ghci> True && False
             2 False
             3 ghci> True || False
             4 True
             5 ghci> not True || False
             6 False
             7 ghci> not True || True
             8 True
             9 ghci> not (True || True)
            10 False
                 

            Operator Precedence and Associativity

                  用info可以查看運算符的優先級
             1 ghci>:info (+)
             2 class Num a where
             3   (+) :: a -> a -> a
             4   
             5       -- Defined in `GHC.Num'
             6 infixl 6 +
             7 ghci>:info (*)
             8 class Num a where
             9   
            10   (*) :: a -> a -> a
            11   
            12       -- Defined in `GHC.Num'
            13 infixl 7 *
            14 ghci>:info (^)
            15 (^) :: (Num a, Integral b) => a -> b -> a     -- Defined in `GHC.Real'
            16 infixr 8 ^

            Lists and Operators on Lists

                  和python不同,Haskell的數組里面存放的元素類型必須都是相同的!

             1 ghci>[1,2,3,4]
             2 [1,2,3,4]
             3 ghci>[1,2,3,4,"figo"]
             4 
             5 <interactive>:77:2:
             6     No instance for (Num [Char])
             7       arising from the literal `1'
             8     Possible fix: add an instance declaration for (Num [Char])
             9     In the expression: 1
            10     In the expression: [1, 2, 3, 4, .]
            11     In an equation for `it': it = [1, 2, 3, .]
            12 ghci>["figo","hanfei19910905"]
            13 ["figo","hanfei19910905"]
            14 
                  可以通過枚舉來定義數組
             1 ghci>[1,4,8..32]
             2 
             3 <interactive>:84:7: parse error on input `..'
             4 ghci>[1,2..10]
             5 [1,2,3,4,5,6,7,8,9,10]
             6 ghci>[1,4..10]
             7 [1,4,7,10]
             8 ghci>[1,4..9]
             9 [1,4,7]
            10 ghci>[10,9..1]
            11 [10,9,8,7,6,5,4,3,2,1]
                  合并兩個數組
            1 ghci>[[1,1],[2,2]] ++ [[1,1,1]]
            2 [[1,1],[2,2],[1,1,1]]
            3 ghci>["figo"] ++ ["string"]
            4 ["figo","string"]
                  字符串,也就是字符數組
            1 ghci>'a':"bc"
            2 "abc"
            3 ghci>['f','i','g','0']
            4 "fig0"
                  
            posted on 2012-05-15 14:28 西月弦 閱讀(1687) 評論(4)  編輯 收藏 引用 所屬分類: 讀書筆記(Haskell)

            FeedBack:
            # re: Real World Haskell 讀書筆記(一) Getting Started
            2012-05-15 16:50 | Ladace
            這種確實比較好~  回復  更多評論
              
            # re: Real World Haskell 讀書筆記(一) Getting Started
            2012-05-16 09:00 | gin
            干什么用的。。嘿嘿。。我習慣python了。。  回復  更多評論
              
            # re: Real World Haskell 讀書筆記(一) Getting Started
            2012-05-16 09:13 | 西月弦
            函數式編程@gin
              回復  更多評論
              
            # re: Real World Haskell 讀書筆記(一) Getting Started
            2012-05-16 17:03 | gin
            搜噶,不錯,嘿嘿,那好好學@西月弦
              回復  更多評論
              
            国产∨亚洲V天堂无码久久久| 国产精品久久婷婷六月丁香| 999久久久免费精品国产| 久久精品毛片免费观看| 伊人久久免费视频| 亚洲午夜精品久久久久久app| 99久久国产综合精品女同图片| 国产精品久久免费| 亚洲精品高清一二区久久| 欧美午夜精品久久久久免费视 | 久久久久亚洲AV成人网人人网站| 久久久精品久久久久久| 亚洲国产精品无码久久一区二区 | 欧美一区二区精品久久| 久久天天躁夜夜躁狠狠躁2022 | 久久久久久国产精品免费无码| www亚洲欲色成人久久精品| 7777久久久国产精品消防器材| 婷婷久久综合九色综合98| 欧美日韩精品久久久免费观看| 久久91综合国产91久久精品| 无码伊人66久久大杳蕉网站谷歌| 久久免费视频6| AA级片免费看视频久久| 好久久免费视频高清| 久久午夜伦鲁片免费无码| 久久伊人精品一区二区三区| 久久久久久极精品久久久| 国产999精品久久久久久| 久久亚洲精品中文字幕三区| 国产午夜精品久久久久免费视 | 久久精品视频一| 亚洲欧美日韩久久精品| 久久精品国产色蜜蜜麻豆| 精品无码久久久久久国产| 久久国产精品99久久久久久老狼| 丰满少妇人妻久久久久久 | 亚洲国产欧洲综合997久久| 精品久久人人爽天天玩人人妻| 色妞色综合久久夜夜| 色婷婷综合久久久久中文|