명령프롬프트> hugs
__   __ __  __  ____   ___      _________________________________________
||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
||___|| ||__|| ||__||  __||     Copyright (c) 1994-2005
||---||         ___||           World Wide Web: http://haskell.org/hugs
||   ||                         Bugs: http://hackage.haskell.org/trac/hugs
||   || Version: 20051031       _________________________________________

Haskell 98 mode: Restart with command line option -98 to enable extensions

Type :? for help
Hugs> "2" + "5"
ERROR - Cannot infer instance
*** Instance   : Num [Char]
*** Expression : "2" + "5"

Hugs> read "2" + read "5"        -- read 는 스트링을 Int 타입으로 형변환하는 함수이다.
7
Hugs> read "2.1" + read "5"        -- read 는 스트링을 Double 타입으로 형변환하지 못한다.

Program error: Prelude.read: no parse

Hugs> read "2.1" :: Double + read "5"       -- Double 타입이라고 형을 명시적으로 지정하면 변환해준다. 그러나 구문에러이다.
ERROR - Syntax error in input (unexpected token)
Hugs> (read "2.1") :: Double + read "5"    -- 여전히 구문 에러이다.
ERROR - Syntax error in input (unexpected token)
Hugs> ((read "2.1") :: Double) + read "5"   -- 구문 에러가 해결되었다.
7.1
Hugs> (read "2.1" :: Double) + read "5"      -- 속에 있는 소괄호는 없어도 된다.
7.1
Hugs> :quit 



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

Posted by Scripter
,