小编n00*_*00b的帖子

=>符号在Haskell中意味着什么?

我是Haskell的新手,一般来说,是函数式编程,我对它的语法有点不舒服.

在下面的代码中=>表示什么?还(Num a, Ord a)呢?

loop :: (Num a, Ord a) => a -> (t -> t) -> t -> t
Run Code Online (Sandbox Code Playgroud)

haskell symbols

27
推荐指数
3
解决办法
1万
查看次数

如何生成一个包含Haskell范围内给定数量的随机数的列表?

我知道如何在给定范围内生成单个随机数,随机数列表,包含给定数量的随机数的列表,但不包含包含RANGE内给定数量的随机数的列表.谁可以帮我这个事?

这段代码(从haskell.org中提取)生成一个包含10个随机数的列表,但是我需要给出一个范围,任何关于如何编辑它以提供范围的想法?

import System.Random
import Data.List

main = do
 seed  <- newStdGen
 let rs = randomlist 10 seed
 print rs

randomlist :: Int -> StdGen -> [Int]
randomlist n = take n . unfoldr (Just . random)
Run Code Online (Sandbox Code Playgroud)

random haskell list

4
推荐指数
2
解决办法
2445
查看次数

如何通过代码在一个实例中创建另一个.NET程序实例?

我需要能够在按钮单击的同时创建另一个全新的程序实例,同时保留现有实例.

this.ShowDialog(new Form1());
Run Code Online (Sandbox Code Playgroud)

上面的语句导致当前表单成为新表单的所有者,我需要第二个实例独立于现有实例.

谁能帮我这个?

.net c# .net-4.0 winforms c#-4.0

4
推荐指数
2
解决办法
946
查看次数

我很困惑什么是递归,尾递归,原始递归和什么不是

我写了一个简单的猜数字程序,我需要知道它是否有任何类型的递归,它是什么类型(原始/尾)(我是新来的,所以请耐心等待我)

module MyProgram where
import System.Random

guessNum :: IO()
guessNum =
do  --gen <- newStdGen
    --let num = randoms gen :: [Int]
    num<-randomRIO(20,100 :: Int)
    putStrLn "Guess the number: "
    input<-getLine
    let guess = (read input :: Int)
    checkGuess guess num


checkGuess:: Int -> Int -> IO()
checkGuess guess num1 |(num1<guess)=
                do  putStr"Too high! Guess again!"
                    input<-getLine
                    let guess = (read input)::Int
                    checkGuess guess num1
                |(num1>guess)=          
                do  putStr"Too low! Guess again!"
                    input<-getLine
                    let guess = (read input)::Int
                    checkGuess guess num1 …
Run Code Online (Sandbox Code Playgroud)

recursion haskell functional-programming tail-recursion

3
推荐指数
1
解决办法
1963
查看次数

如何格式化十进制以截断除前两个小数位之外的所有零?

我希望在C#中获得以下输入结果.怎么做?

10.000000 - > 10.00
10.200000 - > 10.20
10.254550 - > 10.25455

提前致谢.

.net c# decimal

2
推荐指数
1
解决办法
110
查看次数

如何在Haskell中将IO [[Int]]转换为[[Int]]?

可能重复:
将Haskell IO列表转换为列表类型

我试过搜索但似乎没有找到合适的答案,这首先是可能的吗?对此有任何帮助表示赞赏.

io haskell

1
推荐指数
2
解决办法
2097
查看次数

在Haskell中使用IO时,难以将元素附加到列表中

我有一个整数列表,我需要在不同的时间附加元素.

let xs =[]::[Int]
Run Code Online (Sandbox Code Playgroud)

通常将元素附加到此将是:

1:xs
Run Code Online (Sandbox Code Playgroud)

但是当在函数中使用IO时,它似乎不在do块中工作并且给出错误,并且

let xs = [1]
let xs=(2:xs)
Run Code Online (Sandbox Code Playgroud)

导致无限列表如[1,2,2,2,2,.....]我该怎么做才能纠正这个问题?

io haskell list

0
推荐指数
2
解决办法
403
查看次数

Haskell类型错误:类型:一个Int,不匹配:Int

我需要生成一个从1到5的随机数,它不在传递的列表中.

这是我的代码:

questionNumberGenerator:: [Int]->Int
questionNumberGenerator ql = do
    g <- newStdGen
    let qn=(fst((randomR (1, 5) g)))::Int
    let element = (elem qn ql)::Bool
    if(element==True)
        then
           questionNumberGenerator ql
        else do
           return qn
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

haskell typeerror

0
推荐指数
1
解决办法
280
查看次数

if块中的变量不能在Haskell中的块外部使用,是什么原因导致的?

有没有办法解决它,以便我也可以在外面使用它们?提前致谢.我有这样的事情:

if(x==1)
   then
       someList<-aFunction (1,2)
   else
       someList<-aFunction (3,4)


steps involving someList here
Run Code Online (Sandbox Code Playgroud)

variables haskell scope

0
推荐指数
1
解决办法
139
查看次数