F# 學習筆記 3 List

2013-03-11
日常生活
// 功能清單
// ---------------------------------------------------------------/
// 空白清單
let listA = [ ]           /// 有 3 個整數的清單
let listB = [ 1; 2; 3 ]     /// 有 3 個整數的清單,注意 :: 是指 'cons' 作業
let listC = 1 :: [2; 3]    /// 使用遞迴函式計算整數清單的總和
let rec 
SumList xs =    match xs with    | []    -> 0    | y::ys -> y + SumList ys/// 清單的總和
let listD = SumList [1; 2; 3]  /// 介於 1 到 10 (含) 之間的整數清單
let oneToTen = [1..10]/// 前 10 個整數的平方
let squaresOfOneToTen = [ for x in 0..10 -> x*x ]

List 是F# 最重要特點之一, 可以將數值快速運數及整合, 會用python 或matlab 的人會比較有認識

上面有用過一個寫法" match .. with | "

這是個foreach loop, 意思是xs 作為List 中其中的一個element,

| 是switch 式, 用作處理不同的情況

-> 是return的意味, y::ys -> y + SumList ys 意思是把y 從List 中抽取出來, 再來和餘下的List Element 加起來