小编Chr*_*ung的帖子

从Python迁移到Racket(正则表达式库和"Racket Way")

我正在尝试学习Racket,并在此过程中尝试重写Python过滤器.我的代码中有以下一对函数:

def dlv(text):
    """
    Returns True if the given text corresponds to the output of DLV
    and False otherwise.
    """
    return text.startswith("DLV") or \
           text.startswith("{") or \
           text.startswith("Best model")

def answer_sets(text):
    """
    Returns a list comprised of all of the answer sets in the given text.
    """
    if dlv(text):
        # In the case where we are processing the output of DLV, each
        # answer set is a comma-delimited sequence of literals enclosed
        # in {}
        regex = re.compile(r'\{(.*?)\}', re.MULTILINE)
    else: …
Run Code Online (Sandbox Code Playgroud)

python regex porting racket

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

使用Java中的CRAM-MD5的SMTP

我需要通过Java(外部)SMTP服务器从Java发送电子邮件,但是此服务器只接受CRAM-MD5身份验证,JavaMail不支持该身份验证.

将这些电子邮件发送的好方法是什么?(它必须是Java.)

java smtp sasl

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

C++ STL:清理后的容器重新创建或重用?

在编程中,我们面临各种需要使用中间STL容器的情况,如下例所示:

while(true)
{
    set < int > tempSet;

    for (int i = 0; i < n; i ++)
    {
        if (m.size() == min && m.size() <= max)
        {
            tempSet.insert(i);
        }
    }
    //Some condition testing code
}
Run Code Online (Sandbox Code Playgroud)

要么

set < int > tempSet;

while(true)
{
    for (int i = 0; i < n; i ++)
    {
        if (m.size() == min && m.size() <= max)
        {
            tempSet.insert(i);
        }
    }
    tempSet.clear();

    //Some condition testing code
}
Run Code Online (Sandbox Code Playgroud)

考虑到C++编译器的当前状态,哪种方法在时间和空间复杂度方面更好?

c++ complexity-theory stl

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

有没有办法在Vim中为新文件添加版权文本?

例如,如果我在vim中打开一个全新的文件,它已经包含以下文本:

/*
  The MIT License

  Copyright (c) 2009 Apphacker apphacker@gmail.com

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice …
Run Code Online (Sandbox Code Playgroud)

vim

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

用于实现分布式消息传递算法的编程语言

基本上,我想实现以下算法并分析使用这些算法构建的系统在不同条件下的行为.

  • 八卦协议
  • 多个paxos
  • 一致的散列

我的兴趣在于这些算法.我基本上正在寻找一种编程语言,可以让我快速编写这些算法并深入理解这些算法.

我应该选择哪种语言?Java,Scala,Erlang或其他任何东西.

目前,我了解Java和C++.

java erlang scala consistent-hashing paxos

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

比较std :: tr1 :: function <>对象

我一直在尝试用C++实现类似C#的事件系统,其中tr1函数模板用于存储处理事件的函数.

我创建了一个向量,以便可以将多个侦听器附加到此事件,即:

vector< function<void (int)> >  listenerList;
Run Code Online (Sandbox Code Playgroud)

我希望能够从列表中删除处理程序以阻止侦听器接收事件.

那么,如何在此列表中找到与给定侦听器对应的条目?我可以测试列表中的"函数"对象是否指向特定函数吗?

谢谢!

编辑:看过boost :: signal方法,看起来它可能是使用令牌系统实现的,正如你们所建议的那样.这是关于此的一些信息.观察者在附加到事件时保留"连接"对象,并且此连接对象用于在需要时断开连接.所以看起来你是使用Boost还是使用tr1自己动手,基本原理是一样的.即它会有点笨拙:)

c++ function tr1

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

如何在C++中将自定义项添加到系统菜单?

我需要枚举所有正在运行的应用程序.特别是所有顶级窗户.对于每个窗口,我需要将自定义项添加到该窗口的系统菜单中.

我怎样才能在C++中实现这一目标?

更新.

我非常乐意为Windows,MacOS和Ubuntu提供解决方案(但是,我不确定MacOS和Ubuntu是否有'系统菜单'这样的东西).

c++ enumeration

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

有没有合理的方法从subversion迁移到cvs?

我的公司无意中从cvs切换到颠覆,现在我们都希望我们有cvs回来.我知道有一些工具可以将历史记录和变化从cvs迁移到svn,并且没有相应的工具可以反过来.有关如何执行此操作的任何建议或想法?

svn migration cvs

5
推荐指数
7
解决办法
3614
查看次数

在Scheme中定义新数据类型

我首先需要提一下,我对Scheme很新,因此,下面的问题可能没有多大意义.

在学校,我们已经定义了代数数据类型,它们通常具有一个无效的构造函数和一些内部/外部的构造函数.

在这种特殊情况下,我感兴趣的是一个BTree二叉树类型(也许平衡,在未来的迭代),我想类似这样是哈斯克尔如何对待构造函数.我曾经看到过如何实现树方案,这里例如,但这不是我想要的.

我不想只是围绕列表做一个包装器.我只想写下这样的东西:

nil: -> BTree
node: BTree x T x BTree -> BTree
Run Code Online (Sandbox Code Playgroud)

然后让它知道我的意思:

flattenTree: BTree -> List
Run Code Online (Sandbox Code Playgroud)

然后,我将定义它被(假设left,right,key被定义):

(define flattenTree
  (lambda (t)
    (node (flattenTree (left t))
          (key t)
          (flattenTree (right t)))))
Run Code Online (Sandbox Code Playgroud)

另外,我欢迎有关正确缩进我的计划代码的建议......(并且请加以修改)

scheme functional-programming algebraic-data-types

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

是否有可能将Guile嵌入iOS或Android的C++应用程序中?

Guile看起来有点直接嵌入到C/C++项目中,但它在iOS或Android上的表现如何呢?它是否需要不适用于这些平台的第三方库?

与JavaScript或Lua相比,它如何作为可嵌入的脚本语言?

scripting scheme android guile ios

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