小编Man*_*j R的帖子

不在范围内:Haskell中的数据构造函数

请告诉我有什么问题?

data Stack' v = Stack' [v] Int deriving (Show)
...
type StackInt = Stack' Int 

main = print(StackInt [1,2,3] 4)

我得到的错误是

Not in scope: data constructor `Stackint'

怎么了?

haskell

15
推荐指数
2
解决办法
2万
查看次数

功能编程中纯函数的缺点

函数式编程中的纯函数是没有副作用的函数.其中一个含义是它不能改变输入参数的值.这可以被视为内存利用的缺点吗?
例如,假设我有一个函数,它只需要一个列表并在其中添加另一个元素.在C++中,它可以很简单


void addElem(std::vector& vec, int a)
{
    vec.insert(a);
}

这个函数显然没有使用传递对象已经占用的大量内存.
但在Haskell中也会出现类似的情况.

addElem :: [Int] -> Int -> [Int] 
addElem xs a = xs ++ [a]

现在在这个计算中,因为xs没有改变它的值.所以我说的是,在某些时候,该函数将消耗xs的内存双倍大小,一个用于xs,另一个用于返回值.或者以某种方式延迟调用确保实际xs只通过在末尾添加一个元素才能返回?
我知道Monad是一种可以产生副作用的方法.但Monad可以用来简单地修改输入并返回它的值吗?
也可以将xs ++ [a]更改为:xs消耗更少的内存?

c++ haskell functional-programming imperative-programming

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

这是面试软件测试人员被问了一个很好的面试问题?

我通常在接受测试员采访时问这个问题.我们的软件非常复杂,具有GUI和后端组件.我们要求测试仪具有良好的分析能力,并且可以开箱即用.在这种情况下,以下问题是好问题还是太复杂/坏/难看?我们的要求是测试人员应该有经验.
问题
有一个名为Circles查找软件的软件.该软件将黑白图像作为输入(像素为黑色或白色).如果图像中有圆圈,它将突出显示红色边框并输出图像,否则它将输出相同的图像.它应该找到人类可以在图像中找到的所有圆圈.那么你将在这个软件上运行所有测试?通过测试我的意思是你将通过所有图像测试它的工作.请画出图像.

testing

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

Haskell中特定类型的空列表

我需要创建一个特定类型的空列表.
我正在创建一个内部列表的堆栈.要创建空堆栈,我需要传递空列表.但是如何传递特定类型的空列表.

data Stack' a = Stack' [a] deriving (Show)
main = print("MyName", " ", Stack' Int [])
Run Code Online (Sandbox Code Playgroud)

而不是Int [],我尝试过[]::Int各种其他与括号的组合.但没有成功.目前我已经和解了

ls :: [Int]
ls = []
Stack' ls
Run Code Online (Sandbox Code Playgroud)

haskell

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

有关dbms_stats.gather_table_stats的问题

我只是有一个关于dbms_stats.gather_table_stats的简单问题.在我们的应用程序中,此语句在创建表的索引之后发生.它被称为

 EXEC DBMS_STATS.GATHER_TABLE_STATS(< schemaname >, < tablename >)
.我们使用的是Oracle 10.2g.现在的问题是什么时候会收集到什么信息呢?是否会在每次更新表格时,或满足某些标准时收集?或者只有当你再次调用gather_table_stats时它才会被收集?

database oracle oracle10g

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

如何实现这个Haskell功能?

不幸的是我无法实现这个功能,我已经尝试了很多.

f5 ::(ab - > c) - >(a - > c,b - > c)

我试过这个

f5 k _ (Left x)     =  k x
f5 _ u (Right y)    =  u y
Run Code Online (Sandbox Code Playgroud)

提前感谢您的帮助.

haskell

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