我有一个数据类型
data Time = Time {hour :: Int,
minute :: Int
}
Run Code Online (Sandbox Code Playgroud)
我为其定义了Show的实例
instance Show Time where
show (Time hour minute) = (if hour > 10
then (show hour)
else ("0" ++ show hour))
++ ":" ++
(if minute > 10
then (show minute)
else ("0" ++ show minute))
Run Code Online (Sandbox Code Playgroud)
以格式打印出时间07:09
.
现在,Show
和之间应该是对称的Read
,所以在阅读(但不是真正的(我认为)理解)这个和这个,并阅读文档后,我想出了以下代码:
instance Read Time where
readsPrec _ input =
let hourPart = takeWhile (/= ':')
minutePart = tail …
Run Code Online (Sandbox Code Playgroud) 作为在我的计算机上安装Ubuntu的一部分,我apt-get
安装了cabal
.运行后cabal update
,我跑了cabal install darcs
,发现我需要诅咒,安装libncurses5-dev
,发现我需要卷曲,安装它,当它仍然无法工作时,跑了cabal install darcs -f-curl
.
这很有用,但darcs在运行时不会从shell运行darcs
.它安装在~/.cabal/bin/darcs
,所以我link
从那里做了/bin
.Darcs现在可以在shell中运行,但是我想知道是否有更好的方法来实现它,也许是cabal install
在sudo下运行?