Haskell 筆記 三 型別

2021-10-02 07:39:01 字數 784 閱讀 7591

haskell有強大的型別系統

每個表示式在編譯時都會明確型別,因此可以有更多的資訊來檢查錯誤。

支援型別推導。

prelude> :t true

true :: bool

prelude> :t 'a'

'a' :: char

prelude> :t "hi"

"hi" :: [char]

prelude> :t (true, 'a'

)(true, 'a'

) :: (bool, char)

prelude> :t (true, "ss"

)(true, "ss"

) :: (bool, [char]

)prelude> :t 4==5

4==5 :: bool

::讀作: 「它的型別為」

4 == 5 :: bool讀作4==5 它的型別為 bool

prelude> :t cycle

cycle :: [a] ->

[a]

函式也有型別, "[a] -> [a]"表示入參為[a],返回值為[a]。 多個入參一樣是通過「->」連線,最後乙個表示返回值。

注意:凡是明確的型別,其首字母必定是大寫。

型別類是一組函式的集合,定義行為的介面。如果乙個型別是某種型別類的例項,那麼他必須實現了該型別了所描述的行為。

PHP學習筆記(三) 型別 布林型

下面效果相同,說明true和false並不區分大小寫。再為大家介紹兩種方式,因為 很簡單,所以不做贅述了。vs 下面介紹一種應用 轉換為布林值 要明示地將乙個值轉換成 boolean,用 bool 或者 boolean 來強制轉換。但是很多情況下不需要用強制轉換,因為當運算子,函式或者流程控制需要乙...

編譯原理(三)型別檢查

型別系統 型別檢查 多態函式 過載 上面不能在不該出現continue的地方出現continue。c語言 問題 如果a是乙個陣列名,那麼表示式a和 a的值都是陣列a第乙個元素的位址,它們的使用是否有區別?用四個c檔案的編譯報錯或執行結果來提示 上面報錯,返回的a不能作為二位陣列的指標 返回a的指標時...

Linux的Nginx三 型別 特點

提供http的訪問,例如nginx apache iis等,雖然tomcat也能夠實現,但這並不是他的主要功能,而且效能也遠不如專門的web伺服器 能夠用於應用程式的執行 伺服器通常是客戶端訪問的一種行為,在整個客戶端訪問伺服器的過程中有著重要的作用 我覺得叫做中間服務伺服器更合適 因為他連線後台伺...