标签: replicate

Haskell:递归复制函数

我刚刚开始使用Haskell.我正在尝试创建一个模仿replicateHaskell中的标准函数但使用递归的函数.例如,

Prelude> replicate 3 "Ha!"
["Ha!","Ha!","Ha!"]
Run Code Online (Sandbox Code Playgroud)

它应该是类型Int -> a -> [a].到目前为止,我有:

myReplicate :: Int -> a -> [a]
myReplicate x y = y : myReplicate (x-1) y
myReplicate 0 y = [ ]
Run Code Online (Sandbox Code Playgroud)

但是,我的函数总是生成无限列表:

Prelude> myReplicate 3 "Ha!"
["Ha!","Ha!","Ha!","Ha!","Ha!","Ha!","Ha!",...
Run Code Online (Sandbox Code Playgroud)

recursion haskell replicate

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

Haskell错误与类似复制的函数

我想写一个像这样的类似复制的函数:

repli"the"3 ="ttthhheee"和repli"jason"4 ="jjjjaaaassssoooonnnn"

这是我写的代码:

myrepli []  n = []
myrepli [x] 0 = []
myrepli [x] n = (x:(myrepli [x] (n-1)))


repli [] n = []
repli (x:xs) n = (myrepli x n) ++ (repli xs n)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:

Couldn't match expected type `[a]' against inferred type `Char'
     Expected type: [[a]]
     Inferred type: [Char]
   In the first argument of `repli', namely `"jason"'
   In the expression: repli "jason" 3
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?谢谢.

haskell replicate

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

如何在SQL Server中的列中查找重复数字.例如11111,333333333,5555555555,7777777等

我需要在一列中找出重复的数字(例如:1111,333333333,5555555555,777777777等).

如何在sql server中执行此操作,而无需对每个方案进行硬编码.最大长度为10列.任何帮助表示赞赏.

sql sql-server replicate

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

复制相同的data.frame n次并将它们保存到列表中

我只需要复制我的data.frame n次(例如100)并将所有输出保存到列表中.

它应该是非常简单和直接的,但我还没有找到任何解决方案.

假数据框:

df = read.table(text = 'a b
1 2
5 6
4 4
11 78
23 99', header = TRUE)
Run Code Online (Sandbox Code Playgroud)

r list replicate dataframe

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

获取元组列表的第一个元素

我有这个元组列表

[(4,'a'), (1,'b'), (2,'c'), (2,'a'), (1,'d'), (4,'e')]
Run Code Online (Sandbox Code Playgroud)

我想得到每个元组的第一个元素,然后复制它以做出以下内容:"aaaabccaadeeee"

我想出了这个代码,但它只给了我第一个元组的复制品.

replicate  (fst ( head [(4,'a'), (1,'b')])) ( snd ( head [(4,'a'), (1,'b')]))
--output is: "aaaa"
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用map来获取每个元组的复制,但我没有成功.

haskell tuples list replicate

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

perl中哈希值的可复制迭代

众所周知如何迭代perl中的哈希(例如,参见Perl哈希键的最安全的迭代方法是什么?).但是,键和值的顺序是不确定的,实际上每个perl脚本的运行都是不同的.

有没有办法确保相同输入数据上的相同perl脚本的每次运行都会产生相同的迭代顺序?我只关心这种意义上的可复制性 - 秩序不需要被人类预测.

编辑:我在迭代方面提出了问题,但也许它不是哈希的迭代,而是哈希构建过程是非确定性的.我可以设置一些初始化来以确定性和可复制的方式构建哈希吗?

iteration perl hash replicate

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

sapply(a, replica, b) 表达式在函数内不再起作用

这是我第一次在这里发帖。当我遇到错误(或错误)时,我通常会寻找替代方案,但是,由于我将在 R 中走得更远更深入,所以我很高兴了解正在发生的事情。

我做了一个简单的例子来重现错误:

简单的 R 代码

执行

因此,似乎“手动”, sapply(a,replicate,b) 确实有效。但是,函数内的该表达式会返回错误。我在网上搜索了大约 1 小时,但没有找到类似的东西。

我感谢你的时间,

r function replicate sapply

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

在重复函数调用中分隔参数

使用值向量,我希望在函数上调用每个值

values = 1:10
rnorm(100, mean=values, sd=1)
Run Code Online (Sandbox Code Playgroud)

mean = values 重复序列 (1,2,3,4,5,6,7,8,9,10)。我怎样才能得到一个矩阵,每个矩阵有 100 个观察值并使用我的向量中的一个元素?IE:

rnorm(100, mean=1, sd=1)
rnorm(100, mean=2, sd=1)
rnorm(100, mean=3, sd=1)
rnorm(100, mean=4, sd=1)
# ...
Run Code Online (Sandbox Code Playgroud)

parameters loops r vector replicate

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