我是Haskell的新手,一般来说,是函数式编程,我对它的语法有点不舒服.
在下面的代码中=>表示什么?还(Num a, Ord a)呢?
loop :: (Num a, Ord a) => a -> (t -> t) -> t -> t
Run Code Online (Sandbox Code Playgroud) 我知道如何在给定范围内生成单个随机数,随机数列表,包含给定数量的随机数的列表,但不包含包含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) 我需要能够在按钮单击的同时创建另一个全新的程序实例,同时保留现有实例.
this.ShowDialog(new Form1());
Run Code Online (Sandbox Code Playgroud)
上面的语句导致当前表单成为新表单的所有者,我需要第二个实例独立于现有实例.
谁能帮我这个?
我写了一个简单的猜数字程序,我需要知道它是否有任何类型的递归,它是什么类型(原始/尾)(我是新来的,所以请耐心等待我)
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) 我希望在C#中获得以下输入结果.怎么做?
10.000000 - > 10.00
10.200000 - > 10.20
10.254550 - > 10.25455
提前致谢.
可能重复:
将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,.....]我该怎么做才能纠正这个问题?
我需要生成一个从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)
我究竟做错了什么?
有没有办法解决它,以便我也可以在外面使用它们?提前致谢.我有这样的事情:
if(x==1)
then
someList<-aFunction (1,2)
else
someList<-aFunction (3,4)
steps involving someList here
Run Code Online (Sandbox Code Playgroud)