F# 學習筆記 1 變數和函數
2012-02-11
F# : 弱型態, 編譯型, Functional
// 開啟一些標準命名空間
open System
// 簡單計算
// ---------------------------------------------------------------
// 這裡是一些簡單的計算。請注意程式碼用
// '///' 加註註解的方式。將游標置於任何變數參考上方
// 就可以查看說明文件。
/// 非常簡單的常數整數
let int1 = 1
/// 第二個非常簡單的常數整數
let int2 = 2
/// 兩個整數相加
let int3 = int1 + int2
// 整數的函式
// ---------------------------------------------------------------
/// 整數的函式
let f x = 2*x*x - 5*x + 3
/// 簡單計算的結果
let result = f (int3 + 4)
/// 另一個整數的函式
let increment x = x + 1
/// 計算整數的階乘
let rec factorial n = if n=0 then 1 else n * factorial (n-1)
/// 計算兩個整數的最大公因數
let rec hcf a b = // 注意: 2 個參數以空格分隔
if a=0 then b
elif a<b then hcf a (b-a) // 注意: 2 個引數以空格分隔
else hcf (a-b) b
// 注意: 函式引數通常是以空格分隔
// 注意: 'let rec' 會定義遞迴函式