跳轉到內容

Haskell/解決方案/型別基礎

來自華夏公益教科書

← 返回型別基礎

練習
  1. 嘗試對字面值 "H" 使用 :type(注意雙引號)。發生了什麼?為什麼?
  2. 嘗試對字面值 'Hello World' 使用 :type(注意單引號)。發生了什麼?為什麼?
  1. "H" 是一個只有一個元素的 String
  2. 'Hello World' 是無效的,因為 Char 只包含一個字元。
練習

以下函式的型別是什麼?對於涉及數字的任何函式,你可以假設數字是 Int。

  1. negate 函式,它接受一個 Int 並返回該 Int 的符號交換後的值。例如,negate 4 = -4,以及 negate (-2) = 2
  2. (||) 函式,讀作“或”,它接受兩個 Bool 並返回第三個 Bool,如果兩個引數中的任何一個為真,則返回 True,否則返回 False。
  3. 一個 monthLength 函式,它接受一個 Bool,如果我們考慮的是閏年則為 True,否則為 False,以及一個 Int,表示月份的數字;並返回另一個 Int,表示該月份的天數。
  4. f x y = not x && y
  5. g x = (2*x - 1)^2
  1. negate :: Int -> Int
  2. || :: Bool -> Bool -> Bool
  3. monthLength :: Bool -> Int -> Int

而在第二輪

  1. f :: Bool -> Bool -> Bool
  2. g :: Int -> Int
華夏公益教科書