소스 파일명: testIf.py
- {-#
- Filename: testIf.hs
- Purpose: Example using the conditional control structure syntax
- if .... else ... then ...
- Execute: runhugs testIf.hs [number]
- Or
- runhaskell testIf.hs [number]
- #-}
- module Main where
- import System.Environment
- -- 사용법을 보여주는 함수
- printUsing :: IO ()
- printUsing = do
- putStrLn "Using: runhugs testIf.hs [number]"
- putStrLn "This determines whether the number is positive or not."
- main :: IO ()
- main = do
- args <- getArgs
- -- 명령행 인자의 개수가 1이 아니면 사용법을 보여준다.
- if not ((length args) == 1)
- then printUsing
- else do
- let val = toDouble (args !! 0)
- if val > 0.0
- then putStrLn ((show val) ++ " is a positive number.")
- else if val < 0.0
- then putStrLn ((show val) ++ " is a negative number.")
- else putStrLn ((show val) ++ " is zero.")
- toDouble :: [Char] -> Double
- toDouble x = (read x) :: Double
위의 소스에서
if not ((length args) == 1)
로 된 부부은
if not ((length args) == 1)
로 해도 된다. 즉, Haskell 언어의 /= 비교연산자는 C 언어의 != 비교연산자와 같은 의미이다.
실행> runhugs testIf.hs
Using: runhugs testIf.hs [number]
This determines whether the number is positive or not.
실행> runhugs testIf.hs 6.25
6.25 is a positive number.
실행> runhugs testIf.hs -6.25
-6.25 is a negative number.
* GHC의 ghc 명령으로 컴파일한 후 실행하기
컴파일> ghc --make testIf.hs
testIf.hs:1:0: Unrecognised pragma
[1 of 1] Compiling Main ( testIf.hs, testIf.o )
testIf.hs:1:0: Unrecognised pragma
Linking testIf.exe ...
실행> testIf
Using: runhugs testIf.hs [number]
This determines whether the number is positive or not.
실행> testIf 6.25
6.25 is a positive number.
실행> testIf -6.25
-6.25 is a negative number.
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
'프로그래밍 > Haskell' 카테고리의 다른 글
숫자 맞추기 게임 with Haskell (0) | 2009.10.29 |
---|---|
Haskell 언에에서 형(type) 변환하기 (0) | 2009.10.19 |
명령행 아규먼트 처리 예제 with Haskell (0) | 2009.10.18 |
거듭제곱(지수) 계산 with Haskell (0) | 2009.10.18 |
구구단 출력 예제 with Haskell (0) | 2009.05.29 |