小编Gni*_*ruT的帖子

Am I using randomRIO wrong?

I'm trying to show on Terminal a random number between 1 and 7...

nRandom :: IO ()
nRandom = do
    number <- randomRIO (1,7)
    putStrLn ("Your random number is: "++show number)   
Run Code Online (Sandbox Code Playgroud)

...but ghc doesn't compile it and I get errors like:

No instance for (Random a0) arising from a use of `randomRIO'
The type variable `a0' is ambiguous
Possible fix: add a type signature that fixes these type variable(s)
Note: there are several potential instances:
  instance Random Bool -- Defined …
Run Code Online (Sandbox Code Playgroud)

random io haskell functional-programming

9
推荐指数
1
解决办法
2634
查看次数

为什么"map(filter fst)"类型为"[[(Bool,a)]] - > [[(Bool,a)]]"?

我试图理解为什么功能

map (filter fst)
Run Code Online (Sandbox Code Playgroud)

有类型

[[(Bool, a)]] -> [[(Bool, a)]]
Run Code Online (Sandbox Code Playgroud)

如果过滤器必须接收返回Bool-Type的函数并且fst只返回元组的第一个元素,那么"过滤器fst"如何工作?

filter :: (a -> Bool) -> [a] -> [a]
fst :: (a, b) -> a
Run Code Online (Sandbox Code Playgroud)

有人能解释我吗?谢谢 ;)

haskell types functional-programming type-inference unification

8
推荐指数
1
解决办法
321
查看次数

不在范围内:readMaybe,我应该导入哪个库?

我正在尝试使用readMaybe函数,它应该在Text.Read库中,但是当我编译时,我会收到以下消息:

 Module `Text.Read' does not export `readMaybe'
Run Code Online (Sandbox Code Playgroud)

任何人都可以说我做错了什么?谢谢 ;)

haskell functional-programming haskell-platform maybe

4
推荐指数
1
解决办法
664
查看次数

在Javascript中是一个数组文字对象?

我正在阅读JavaScript The Definitive Guide,它说:

创建数组的最简单方法是使用数组文字

但随后它说:

创建数组的另一种方法是使用Array()构造函数.

我的问题是,无论我们如何在javascript中声明一个数组,它仍然是一个对象吗?谢谢

javascript arrays object language-concepts

4
推荐指数
1
解决办法
55
查看次数

这个功能的复杂性是什么?

我在Codeacademy练习,我必须做以下功能:

定义一个名为anti_vowel的函数,它将一个字符串text作为输入,并返回删除了所有元音的文本

这是我的解决方案.

def anti_vowel(text):
md = ""
for ch in text:
    if ch not in "aeiouAEIOU":
        md =  md + ch
return md 
Run Code Online (Sandbox Code Playgroud)

它运作良好,但我想知道函数的复杂性是什么.

我认为这是O(nk)n:="文本长度"和k:="aeoiuAEIOU"的长度"".
我拿一个文本元素并将其与所有元音进行比较,这需要花费O(k)时间.但我重复了那么多次,所以我全力以赴O(nk).我的分析是否正确?我怎么能改进我的功能?它可能是线性的吗?

python algorithm performance

4
推荐指数
1
解决办法
102
查看次数

为什么这些函数在Haskell中有不同的类型?

任何人都可以解释为什么这些功能有不同的类型?

fa xs x = filter (>x) xs 
fb xs = \x -> filter (> x)
fc x = filter (> x)
Run Code Online (Sandbox Code Playgroud)

我认为第一个有类型:Ord a => [a] - > a - > [a]但我不确定其余的.有人可以帮我吗?谢谢 ;)

lambda haskell types functional-programming

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

如何在Java中的空字符串上应用toUpperCase()?

我以为如果我跑这个

System.out.println("toUpperCase() on empty String:"+ "".toUpperCase());
Run Code Online (Sandbox Code Playgroud)

它返回一个空字符串.怎么可能?toUpperCase()在这种情况下应该失败不是吗?谢谢!

java string language-concepts

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

成本函数,sum(x)和ones(1,length(x))*x之间的区别是什么?

我正在为Coursera做Andrew Ng教授的机器学习课程.我正在尝试编写成本函数.

这是我的第一个解决方案:

J= (1/(2*m))* (ones(1,97) * (((X*theta)-y).^2 ));
Run Code Online (Sandbox Code Playgroud)

但它没有被接受,所以我尝试了总和:

J = 1 / (2 * m) * sum(((X * theta) - y).^2);
Run Code Online (Sandbox Code Playgroud)

并被接受.你能说我为什么吗?我唯一改变的是和总和但结果仍然相同.

matlab machine-learning octave linear-regression

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

用户定义数据的随机值在Haskell中输入

我已经定义了以下数据类型:

data NewBool = Truth | Lie deriving (Show)
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个函数,它应该返回一个随机的NewBool​​值

giveMeBool :: IO()
giveMeBool = do 
     bool <- randomIO :: IO NewBool
     putStrLn("Your random boolean is"++ show bool)
Run Code Online (Sandbox Code Playgroud)

我在这里读到,我必须使NewBool​​成为Random的一个实例才能使用randomIO.所以我做到了这一点:

 instance Random NewBool where
 random g = case random g of
              (r,g')  | r < (1/2)= (Truth, g')
                      | otherwise= (Lie, g')
Run Code Online (Sandbox Code Playgroud)

真诚地,它只是我在另一篇文章中发现的复制和粘贴,但我不明白它是如何工作的?如何定义r的值和类型?谁能帮我?谢谢 ;)

random haskell functional-programming deriving

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

理解函数指针声明

我必须描述以下代码:

    char *(**f[][]) ();
Run Code Online (Sandbox Code Playgroud)

我理解开头的"char*"和结尾的"()":它是一个没有参数的函数,并返回一个指向char的指针.但是"(**f [] [])"是什么意思?

有人可以帮我吗?谢谢= D

c arrays pointers

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

为什么这两个Haskell"展开"功能不同?

我正在学习Haskell,现在我正在使用Maybe Class进行练习.我必须创建一个函数,它将f("Maybe function")重复应用于(及其后续结果),直到f a返回Nothing.例如f a0 = Just a1,f a1 = Just a2,...,f an = Nothing.然后

unfold f a0 = [a0,a1,...,an]
Run Code Online (Sandbox Code Playgroud)

我试过这样做而且我得到了:

unfold :: (a- > Maybe a) -> a -> [a]
unfold f a = case f a of
                 Just n -> n: unfold f a
                 Nothing -> []
Run Code Online (Sandbox Code Playgroud)

问题是解决方案是:

unfold' :: ( a -> Maybe a) -> a -> [a]
unfold' f a = a : rest ( f a )
     where rest Nothing = [] …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming maybe

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

为什么回调函数允许我们在Javascript中异步执行操作?

我已经读过,回调会异步制作JavaScript.但我不确定我是否理解这个解释.这就是我得到的

回调函数允许我们异步执行操作,因为它们确保在加载下一行之前回调之前的行已完全完成.

真的吗?谢谢

javascript asynchronous callback language-concepts

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