haskell

    2热度

    1回答

    考虑: λ: >let m = newMVar "foo" λ: >m >>= readMVar "foo" 我试图用modifyMVar_: λ: >:t modifyMVar_ modifyMVar_ :: MVar a -> (a -> IO a) -> IO() 通过: λ: >m >>= \mvar -> modifyMVar_ mvar (\_ -> return "b

    1热度

    1回答

    我试图程序在Haskell一个函数,它的整数,并且只打印它,如果它是小于或等于10。 在ghci中,执行编程这样的功能: sayMeUntilTen :: (Integral a, Show a) => a -> String sayMeUntilTen x = if x <= 10 then show x else "Sorry, greater than 10" 的作品。 但是如果我不包括约束

    0热度

    1回答

    给定值V的整数列表我希望 输入:maxNumbers 5 [1,4,5,6,8,4,5,8] 输出:[6,8,8] 我的方法: maxNumbers ::a =>[a] -> [a] maxNumbers n (x:xs) = enumFrom(n < x) + maxNumbers n xs

    1热度

    1回答

    所以,这不是一个问题,但我想要一个意见什么会是一个更好的方法。所以,我需要阅读从外源(TCP)数据,自带基本格式如下: key: value okey: enum stuff: 0.12240 amazin: 1020 ,我需要它解析为一个Haskell访问的格式,所以这两个解决方案,我想过,要么将其解析为严格的字符串到字符串映射,或者记录语法类型声明。 起初我还以为做了我的字符串=>字

    1热度

    1回答

    我有一个IO操作列表,我想同时执行,所以我使用的是async包中的mapConcurrently。 我的IO操作包括print表达式,例如: processLink :: String -> IO() processLink link = do result <- fetchLink print $ "Link " ++ link ++ "has been processed" 在我ma

    1热度

    3回答

    andX :: [a] -> [a] -> [a] andX [] [] = [] andX [xs] [] = [xs] andX [] [ys] = [ys] andX [x:xs] [y:ys] = [x,y] : andX [xs] [ys] 嗨,大家好,这是一个非常简单的代码我写的,我认为它应该做的是明确的,但它只是不工作,我似乎无法找到一种方法要解决这个问题。

    3热度

    1回答

    我想编写一个函数,检查一个列表是否是另一个列表的子列表。我写了这个,但它不起作用,但我想我需要这样的东西。感谢帮助。 subList :: Eq a => [a] -> [a] -> Bool subList _ [] = False subList [] _ = True subList (x:xs) (y:ys) = x == y = subList xs ys ot

    0热度

    1回答

    我想在Haskell中做一个计算器。我已经做到了可以接受两个参数的地步。但是我被困在可能需要两个以上论点的地步。例如,该输入类型是(+ 1 2)和它打印3.但现在应能采取在(+ 1 2 3),并打印出6. 的代码是在这里: import System.IO main = do loop [] leadingNonSpaces [] = 0 leadingNonSpaces (' ':cs

    2热度

    1回答

    我有一个类型,我已经做了Show类的实例,但我没有得到期望的结果。如果我尝试使用deriving字,然后它工作,使之秀类的实例,但如果尝试像: instance Show (SomeValue v) where show (Null) = "You have no value" show (Justs v) = show (Justs v) findKey key = fo

    2热度

    2回答

    我正在写一个函数,parseArgs,它将以列表的形式接受命令行参数。如果列表的大小是2,则函数将解析列表的内容并将它们转换为元组,否则返回Nothing。我不确定如何去做这件事。我的代码迄今低于: parseArgs :: [String] -> Maybe (String, Maybe String) parseArgs [x, y] | length [x, y] < 2 = N