1

我正在学习快速检查(还有haskell),我有以下代码:

newtype Urls = FN { unFN :: String } deriving Show

instance Arbitrary Urls where
arbitrary = do protocol <- elements ["http://"]
             name <-  listOf $ elements ['a'..'z']
             domain <- elements [".com",".com.br",".net"]
             return (FN (protocol ++ name ++ domain))

我的问题是关于如何使 listOf 永远不会返回空(NonEmpty),因为现在对于生成的一些数据,我会收到像 {unFN = "http://.net"} 这样的字符串,简化我希望该名称永远不会为空

4

1 回答 1

5

使用listOf1而不是listOf.

于 2012-09-18T22:49:37.573 回答