소스 파일명: TestIf.fs

  1. // Filename: TestIf.fs
  2. #light
  3. let printUsing x =
  4.      printfn "Using: TestIf [number]"
  5.      printfn "This determines whether the number is positive or not."
  6. let (|Float|_|) (str: string) =
  7.    let mutable floatvalue = 0.0
  8.    if System.Double.TryParse(str, &floatvalue) then Some(floatvalue)
  9.    else None
  10. let isPositveNegative = function
  11.      | x when x > 0.0 -> "positive"
  12.      | x when x < 0.0 -> "negative"
  13.      | x when x = 0.0 -> "zero"
  14.      | _ -> "not a floating number"
  15. let doCheck s =
  16.     match s with
  17.     | Float s ->
  18.         let mutable y = 1.0
  19.         y <- System.Convert.ToDouble(s)
  20.         printfn "%g is %O." y (isPositveNegative y)
  21.     | _ -> printUsing 0
  22. let cmdArgs = System.Environment.GetCommandLineArgs()
  23. if (Array.length cmdArgs > 1) then
  24.     doCheck (cmdArgs.[1])
  25. else printUsing 0



컴파일> fsc TestIf.fs

실행> TestIf -1.2
-1.2 is negative.


실행> TestIf 0.0
-1.2 is zero.




Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.


Posted by Scripter
,