F# 언어는 함수형 언어이면서도 명령형 언어의 특징을 대부분 가지고 잇다.
따라서 보통의 for 구문을 쓸 수도 있고, 재귀호출 함수릉 만들어 쓸 수도 있다.

아래의 소스에서 함수 printDan 은 보통의 for 구문을 쓴 것이고
함수 printAnotherDan 은 재귀호출 함수를 쓴 것이다.


소스 파일명: forTest.fs
------------------------------[소스 시작]
let printDan dan =
    for i in 1..9 do
        printfn "%d x %d = %d" dan i (dan*i)

let printAnotherDan (dan : int) =
    let rec loop l =
        match l with
        | x :: xs -> printfn "%d x %d = %d" dan x (dan*x); loop xs
        | [] -> None
    loop [1..9]

printDan 2
printAnotherDan 3 |> ignore
------------------------------[소스 끝]


컴파일> fsc forTest.fs

실행> forTest2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27




Posted by Scripter
,