小编Acs*_*sor的帖子

PHP有一个Set数据结构吗?

我是PHP的新手,我无法弄清楚这个基本问题.PHP有某种set或list对象吗?类似于数组的东西,但能够动态添加或删除任意数量的对象.

php set

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

使用Unix套接字获取"已使用的地址"错误

使用Unix本地套接字编写下面的C源我得到了一个关于已经使用的地址的错误.在检查man 7 Unix了进一步的信息后,我试图创建一个子文件夹来执行我的程序(显然修改sun_path当前文件夹中的字段),但错误是一样的.

有人能帮助我吗?

源代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/un.h>
#include <unistd.h>
#include <errno.h>

#define MAXLEN  128

int main (int argc, char *argv[]){

        struct sockaddr_un      server;
        int                                     serverfd, clientfd;
        socklen_t                       addrsize = sizeof(struct sockaddr_un);
        char                            buff[MAXLEN], *path;

        if (argc < 2){
                printf("Error: %s [MESSAGE]\n", argv[0]);
                return 1;
        }

        if ((serverfd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0){
                printf("Error \"%s\" in socket()\n", strerror(errno));
                exit(1);
        }
        puts("socket()");

        server.sun_family = AF_UNIX;
        path = …
Run Code Online (Sandbox Code Playgroud)

c sockets unix-socket

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

Perl中我们定义的变量和普通全局变量之间是否有任何差异?

our修改仅使用时严格编译激活使用全局变量,让或者甚至用于从正常的全局变量不同的一些额外的功能时严格熄灭?

perl strict

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

逐个向矩阵添加新行

这是一个简单的问题,但对于我的生活,我找不到答案.

for (w in 1:47) {
    s <- w + 1;

    while(s < 49) {
        xx <- wcc(x$codes[w,], x$codes[s,], 20)
        C = matrix(rbind(w,s,xx), nrow=1128, ncol=3, byrow=TRUE)
        s <- s + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

在这个循环中,我想将XX逐个放入矩阵C中.

r matrix

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

使用Perl中的regex在字符串中获取多个匹配项

在阅读了这个类似的问题并多次尝试我的代码之后,我继续获得相同的不良输出.

让我们假设我正在搜索的字符串是"我昨天看到了wilma".正则表达式应该捕获每个单词后跟一个'a'及其可选的 5个后面的字符或空格.

我写的代码如下:

$_ = "I saw wilma yesterday";

if (@m = /(\w+)a(.{5,})?/g){
    print "found " . @m . " matches\n";

    foreach(@m){
        print "\t\"$_\"\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我继续获得以下输出:

found 2 matches
    "s"
    "w wilma yesterday"
Run Code Online (Sandbox Code Playgroud)

虽然我希望得到以下一个:

found 3 matches:
    "saw wil"
    "wilma yest"
    "yesterday"
Run Code Online (Sandbox Code Playgroud)

直到我发现里面的返回值@m$1$2,你可以注意到.

现在,由于/g标志已打开,我认为问题不在于正则表达式,我怎样才能获得所需的输出?

regex perl multiple-matches

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

R 有 Set 数据结构吗?

我是初学者 R 学习者,所以如果我说一些不连贯的话,请容忍我。

我有一个包含 5000 个元素的大向量变量,并且想知道这些是什么,知道有几次重复。R 的介绍除了基本的数据结构外似乎没有说什么,我不知道 R 是否提供了内置的这个功能。

如果没有这样的“数据结构”,是否有一些内置函数可以过滤掉向量或列表中的重复元素?

r data-structures

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

Python:从具有字符限制的列表中生成所有可能的序列组合

我的问题与这个问题完全相同.我有字符的数组(列表).我想从该列表中获取所有可能的序列组合,但具有字符限制(例如:最多2个字符).此外,在排列行中不能重复单个字符:

chars = ['a', 'b', 'c', 'd']

# output
output = [['a', 'b', 'c', 'd'],
          ['ab', 'c', 'd'],
          ['a', 'bc', 'd'],
          ['a', 'b', 'cd'],
          ['ab', 'cd'],
          ['abc', 'd'], # this one will be exempted
          ['a', 'bcd'],  # this one will be exempted
          ['abcd']]  # this one will be exempted
Run Code Online (Sandbox Code Playgroud)

我知道我可以在生成和构建序列时检查条件以省略超限字符组合.但它会增加运行时间.我的目的是减少现有的执行时间.

没有字符数限制,组合将生成为2 ^(N-1).如果列表超过15个字符,则执行程序将花费很长时间.因此,我想减少字符数限制的组合数.

优先级是性能.我已经研究并试了两天没有任何成功.

python combinations permutation

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

在 JUnit 5 测试方法中提供多个参数

我想为我的代码库提供“多态”测试用例。具体来说,一个Graph接口将有多个实现,并希望为所有这些实现重用测试代码 ( ALGraph, AMGraph, ...)。

我想按照以下几行开发我的测试方法

    @ParameterizedTest
    @MethodSource("graphFactory")
    // Note: JUnit 5 won't allow the following additional argument source
    @ValueSource(ints = {0, 31415, -31415})
    void testInsertDeleteNode(Graph g, Integer v) {
        g.insertNode(new Node<>(v));
        assertTrue(g.containsNode(new Node<>(v)));
        assertEquals(1, g.vertices().size());

        g.deleteNode(new Node<>(v));
        assertFalse(g.containsNode(new Node<>(v)));
        assertEquals(0, g.vertices().size());
    }
Run Code Online (Sandbox Code Playgroud)

但是 JUnit 的构建方式阻止了我完成这个计划。

所以基本上我想为我的测试提供多个参数的笛卡尔积。使用开箱即用的参数提供程序 ( ValueSource, NullSource, ...)是否可行,或者我是否需要借助 强行设置自定义参数提供程序@MethodSource

java junit5

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

无法弄清楚为什么perl打印出换行符然后打印数据而不是反之亦然

好吧,我的代码非常简单.它应该打印内容+ \n但结果却以某种方式反转.

这里的代码:

#!/usr/bin/perl -w 

use strict;

my $founds; 

while (<>){ 
    $$founds{$2} = $& while  m/([A-Z]{3})([a-z])([A-Z] {3})/g;                               
}

print sort keys %$founds, "\n";
Run Code Online (Sandbox Code Playgroud)

结果是:

(here is a newline)  
abcdefghijklmnopqrstuvwxyz
Run Code Online (Sandbox Code Playgroud)

希望它也适用于您的配置(如果您想下载我在我的代码中使用的文件,请转到此处)

无论如何,你对此有所了解吗?

PS:正则表达式不允许换行符,因此问题不太可能属于它.

perl stdout

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

了解java.io库

从昨天开始,我正在阅读Java在线文档,我注意到它更多地关注实践,而不是描述该库的机制.

由于IO包中有很多类,我如何理解何时使用以及如何使用它们?我对它的模型比对它的内容更感兴趣.
欢迎提供建议和手册.

先感谢您...

java model java-io

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

在Perl中使用具有严格编译指示的全局变量

我想知道在使用严格的pragma时是否可以使用一些全局变量.

例如,我试过这样做:

#!/usr/bin/perl -w

use strict;

sub print_global{
     print "your global is: $global\n";
}

$global = 1234;     #or even my $global = 1234;

print_global;
Run Code Online (Sandbox Code Playgroud)

但是你可以注意到它不起作用.

使用严格的pragma时,有没有办法定义全局变量?(如果有的话,当然)

perl global-variables strict

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