小编cri*_*der的帖子

Haskell过滤/拆分列表

我想要类似的东西

splitBy pred list = ( filter pred list, filter (not . pred) list )
Run Code Online (Sandbox Code Playgroud)

但一次通过.

haskell list

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

链接多参数功能

假设我有两个功能,f:X->Y并且g:Y*Y->Z.我想做第三个功能,h(a, b) = g(f(a), f(b)).

h a b = g (f a) (f b)
Run Code Online (Sandbox Code Playgroud)

有什么方法可以写出来h(a, b) = g*f (a, b)吗?

如果h(a,b,c,d) = g2*g1*f2*f1 (a,b,c,d),在哪里g_i需要2个参数?

haskell function

6
推荐指数
3
解决办法
148
查看次数

Bash:返回引号和eval令人困惑的行为

有人可以解释第二个结果吗?

user$ set 5 5
user$ n=2
user$ eval echo \$$n
5
user$ echo `eval echo \$$n`
10268n
Run Code Online (Sandbox Code Playgroud)

10268是bash pid.

GNU bash,版本4.0.35(0)-release(i386-portbld-freebsd7.2)

UPD:这很好用:

user$ echo `eval echo \\$$n`
5
Run Code Online (Sandbox Code Playgroud)

但是之后...

user$ echo `eval echo \\\$$n` #3
5
user$ echo `eval echo \\\\$$n` #4
10268n
user$ echo `eval echo \\\\\$$n` #5
10268n
user$ echo `eval echo \\\\\\$$n` #6
$2
user$ echo `eval echo \\\\\\\$$n` #7
$2
user$ echo `eval echo \\\\\\\\$$n` #8
$2
user$ echo `eval echo \\\\\\\\\$$n` #9
10268n
Run Code Online (Sandbox Code Playgroud)

unix linux bash freebsd

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

输入与分数相关的错误

我想弄清楚什么是错的.似乎类型有问题,但单独使用相同的表达式可以正常工作.

这是代码:

a = [9, 4, 12, 0, -6, 16] :: [Int]

qsort:: [Int] -> [Int] 
qsort [] = []
qsort [x] = [x]
qsort xs = (qsort l)++(qsort r)
    where   m = (realToFrac(sum xs)) / (realToFrac(length xs))
            l = filter (<=m) xs
            r = filter (>m) xs

main::IO()
main = do
        print (show (qsort a))
Run Code Online (Sandbox Code Playgroud)

它抛出:

main.hs:7:36:
    No instance for (Fractional Int)
      arising from a use of `/'
    Possible fix: add an instance declaration for (Fractional Int)
    In the …
Run Code Online (Sandbox Code Playgroud)

haskell types

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

标签 统计

haskell ×3

bash ×1

freebsd ×1

function ×1

linux ×1

list ×1

types ×1

unix ×1