小编For*_*Bru的帖子

Haskell'任何'功能 - 素性检查

我正在尝试is_prime在Haskell中定义一个函数.任何人都可以指出使用任何功能的问题?

另外,我知道下面的代码是天真的,但我正在学习语言,所以从babysteps开始.

is_prime 0 = False
is_prime 1 = False
is_prime 2 = True
is_prime n = any [n `mod` k == 0 | k <- [2.. sqrt n]]
Run Code Online (Sandbox Code Playgroud)

haskell

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

从proc获取进程信息

我需要制作一个内核模块来显示 proc 目录中的一些基本进程信息。例如。获取 proc 中的所有进程 ID 并将它们存储在数组中。我在此链接上检查了“proc_fs.h”头文件

但它似乎不包含任何获取此类数据的功能。如果我对此有误,请纠正我。

任何人都可以提供任何此类有用的头文件的名称或任何此类资源的链接。

c linux linux-kernel

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

Python - 有效地找到某些东西会在排序列表中出现的位置?

我有一个清单:

x = ['c', 'a', 'e']
Run Code Online (Sandbox Code Playgroud)

我可以对此列表进行排序:

x_sorted = sorted(x)
Run Code Online (Sandbox Code Playgroud)

x_sorted 就是现在 ['a', 'c', 'e']

现在让我们说我有一个新的变量 y = 'd'

我想知道x_sorted这个新变量会落在哪里.在此示例中,新变量y包含字符串,'d'因此它将放置['a', 'c', 'd', 'e']在列表的索引2中.我希望尽可能有效地找出这个索引号(因为我必须多次重复这个过程).

这是我写的一个函数,它非常简单地执行任务:

def f(x_sorted, y):
    new_list = x_sorted[:] + [y]
    return sorted(new_list).index(y)
Run Code Online (Sandbox Code Playgroud)

这给了我正确的答案.

我想知道是否有更好的更有效的方法,这f将被称为100,000+次.

提前致谢!

python sorting

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

在C++中转置矩阵

我正在编写一个程序来使用分配的内存来转置给定的矩阵.该函数与方矩阵NxN(rows == cols)完美配合,但它与MxN矩阵(rows!= cols)崩溃.请帮忙

void transpose(int **matrix, int *row, int *col)
{
    // dynamically allocate an array
    int **result;
    result = new int *[*col]; //creates a new array of pointers to int objects
    // check for error
    if (result == NULL)
    {
        cout << "Error allocating array";
        exit(1);
    }
    for (int count = 0; count < *col; count++)
    {
        *(result + count) = new int[*row];
    }

    // transposing
    for (int i = 0; i<*row; i++)
    {
       for (int j = …
Run Code Online (Sandbox Code Playgroud)

c++ transpose matrix

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

带有装饰器的意外SyntaxError

这里的目标是将全局函数作为装饰器调用.

#coding: utf-8
def Test(method_to_decorate):
    print 'Decorator'
    def wrapper(self):
        return method_to_decorate(self)
    return wrapper


class Smth(object):
    def Test(self):
        print 'NOT a decorator!'

    a=globals()['Test']

    #@globals()['Test'] --> SyntaxError
    @a # works fine
    def Fun(self):
        print "Smth.Fun()"

l = Smth()
l.Fun()
Run Code Online (Sandbox Code Playgroud)

使用未注释的方法工作得很好,而@globals()['Test']给人SyntaxError.为什么?很确定 Test 存在globals().

之后的事情@必须是接受另一个函数作为其论据之一的函数,我是对的吗?globals()['Test']是这样的功能,不是吗?然后,在我看来,@globals()['Test']必须是正确的(逻辑上正确).

编辑

这按预期工作:

def Ex(*args):
    print 'Ex({})'.format(args) 
globals()['Ex']('hello') # just calling a function
Run Code Online (Sandbox Code Playgroud)

使用装饰器时,会调用一个函数.我们可以像上面那样调用函数,但是不能使用像这样的装饰器.也许这是某种Python错误或逻辑错误组织?

python

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

将 WAV 转换为 base64

我有一些波形文件 (.wav),我需要将它们转换为 base64 编码的字符串。你能指导我如何在 Python/C/C++ 中做到这一点吗?

c audio wav python-2.7

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

为什么没有分号会出错,但是有太多分号没有?

考虑这个C代码:

#include <stdio.h>;

int main(void) {
    puts("Hello, world!");; ;
    ;
    return 0; ;
    ; ;
};
Run Code Online (Sandbox Code Playgroud)

在这里,我几乎可以在任何地方放置分号.只是为了好玩.但令人惊讶的是它有效!我收到了关于分号后分号的警告,但其他绝对错误的分号也起作用了.如果我忘了后面加分号puts,我会收到以下错误

错误:预期';' 在'返回'之前


为什么许多错误和无用的分号都不会导致错误?在我看来,他们应该被视为语法错误.

c syntax

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

如何在C++ 11中初始化uint64_t

uint64_t x(1 << 35)给出输出0和警告.初始化这么大的值最合适的是什么?

c++ c++11

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

通过名称和函数指针在C中调用函数

我想知道调用函数的名称有什么区别

int sum(int x,int y)
 {
    return x+y;
 }

int main()
 { 
    int z = sum(5,7);
 }
Run Code Online (Sandbox Code Playgroud)

并通过指针调用函数

int sum(int x,int y)
 {
    return x+y; 
 }

int main()
 {  
    int (*ptr)(int,int);
    ptr =&sum;
    int z = (*ptr)(5,7); 
 }
Run Code Online (Sandbox Code Playgroud)

执行时间或任何事情有什么不同吗?

c pointers function

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

了解 Haskell 类型签名

我必须将 Haskell 类型签名转换为术语。类型签名是:

f :: (a -> b -> c) -> (d -> b) -> (d -> a) -> d -> c
Run Code Online (Sandbox Code Playgroud)

正确的结果项是:

f g h j x = g (j x) (h x)
Run Code Online (Sandbox Code Playgroud)

而这就是我的问题,我的理解g是,它返回一个函数返回一个函数c,并c为函数返回一个函数d返回bb是返回自身,然后再次返回自身,然后返回一个函数c

如果我错了,请纠正我。

我不明白的是为什么g(j x)作为第一个论点和(h x)第二个论点。不应该反过来吗?Haskell 是右结合的,h是给函数的第二个参数,f而不是j

haskell type-signature

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