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
'프로그래밍 > F#' 카테고리의 다른 글
(최대공약수 구하기) while 반복문 없는 예제 for F# (0) | 2010.07.13 |
---|---|
(최대공약수 구하기) while... 반복문 예제 for F# (0) | 2010.07.13 |
명령행 인자 처리 예제 for F# (0) | 2010.07.12 |
Hello 예제 for F# (0) | 2010.07.12 |
if...else... 조건문 사용 예제 for F# (0) | 2010.07.12 |