小编Pau*_*han的帖子

STL名称为"map"函数编程函数

我希望能够写出类似的东西

char f(char);
vector<char> bar;
vector<char> foo = map(f, bar);
Run Code Online (Sandbox Code Playgroud)

transform函数似乎相似,但它不会自动生成结果集合的大小.

c++ map-function

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

使用Python中的ElementTree发出命名空间规范

我正在尝试使用包含XML声明和命名空间的元素树发出XML文件.这是我的示例代码:

from xml.etree import ElementTree as ET
ET.register_namespace('com',"http://www.company.com") #some name

# build a tree structure
root = ET.Element("STUFF")
body = ET.SubElement(root, "MORE_STUFF")
body.text = "STUFF EVERYWHERE!"

# wrap it in an ElementTree instance, and save as XML
tree = ET.ElementTree(root)

tree.write("page.xml",
           xml_declaration=True,
           method="xml" )
Run Code Online (Sandbox Code Playgroud)

但是,<?xml标签既没有出现也没有任何名称空间/前缀信息.我在这里有点困惑.

python xml elementtree

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

如何使用脚本在GitHub上发布构建工件资产?

我试图找出一个在GitHub上生成构建的单命令进程.

我预计会做的是运行某种命令发布,比如说,make release脚本会构建发布工件,然后以某种方式将其上传到GitHub.

但是,我对如何在GitHub上实际获取发布工件感到很困惑.源代码很棒,但不是每个人都想做自己的构建.:-)

github

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

什么是对博伊斯 - 科德正常形式的良好KISS描述?

什么是KISS(保持简单,愚蠢)的方式来记住Boyce-Codd的正常形式是什么以及如何采用非标准化的表格和BCNF呢?

维基百科的信息:对我来说不是很有帮助.

database database-normalization bcnf

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

如何在堆栈上分配的异常超出了它们的范围?

在下面的代码中,基于堆栈的变量"ex"被抛出并被捕获到超出声明ex的范围的函数中.这对我来说有点奇怪,因为(AFAIK)基于堆栈的变量不能在它们被声明的范围之外使用(堆栈被展开).

void f() {
    SomeKindOfException ex(...);
    throw ex;
}

void g() {
    try {
        f();
    } catch (SomeKindOfException& ex) {
        //Handling code...
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经向SomeKindOfException的析构函数添加了一个print语句,它显示ex在f()中超出范围后被破坏但是它在g()中被捕获并且一旦它超出范围就再次被破坏.

有帮助吗?

c++ callstack exception-handling exception

23
推荐指数
4
解决办法
2431
查看次数

Python数据结构的大O分析列表

是否有不同数据结构的列表及其对Python的大O访问时间?

我正在翻阅标准的图书馆文档而没有看到任何问题.:-)

python performance data-structures

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

在yacc中的Lisp语法

我正在尝试构建一个Lisp语法.容易,对吗?显然不是.

我提出这些输入并收到错误......

( 1 1)
23 23 23 
ui ui
Run Code Online (Sandbox Code Playgroud)

这是语法......

%%
sexpr: atom                 {printf("matched sexpr\n");}
    | list
    ;
list: '(' members ')'       {printf("matched list\n");}
    | '('')'                {printf("matched empty list\n");}
    ;
members: sexpr              {printf("members 1\n");}
    | sexpr members         {printf("members 2\n");}
    ;
atom: ID                    {printf("ID\n");}
    | NUM                   {printf("NUM\n");}
    | STR                   {printf("STR\n");}
    ;
%%
Run Code Online (Sandbox Code Playgroud)

就像我所知,我需要一个非终端定义为一个程序,整个解析树可以挂起.但我尝试了它似乎没有用.

编辑 - 这是我的"顶级终端"方法:

program: slist;

slist: slist sexpr | sexpr;
Run Code Online (Sandbox Code Playgroud)

但它允许以下问题:

( 1 1 
Run Code Online (Sandbox Code Playgroud)

Edit2:FLEX代码是......

%{
    #include <stdio.h>
    #include "a.yacc.tab.h"
    int linenumber;
    extern int yylval;
%}
%% …
Run Code Online (Sandbox Code Playgroud)

lisp grammar yacc

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

在Windows上用C +/C中的Globbing

Windows中的C或C++中是否有流畅的方式?

例如,myprogram.exe*.txt向我的程序发送一个ARGV列表,其中包含... ARGV [1] = *.txt.

我希望能够有一个函数(让我们称之为readglob),它接受一个字符串并返回一个字符串向量,每个字符串包含一个文件名.

这样,如果a.txt b.txt c.txt我的目录中有文件而readglob得到一个参数*.txt,它将返回上面的文件列表.

//Prototype of this hypothetical function.
vector<string> readglob(string);
Run Code Online (Sandbox Code Playgroud)

这样的存在吗?

c c++ windows glob

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

Python中的"就地"字符串修改

在Python中,字符串是不可变的.

逐个字符地逐字逐句地修改它的标准习惯是什么?

我能想到的唯一方法是与加入结果字符串相关的一些真正棘手的黑客攻击.

-

在C:

for(int i = 0; i < strlen(s); i++)
{
   s[i] = F(s[i]);
}
Run Code Online (Sandbox Code Playgroud)

这是超级表达,并准确地说我在做什么.这就是我要找的.

python string

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

setup.py没有安装数据文件

我有一个Python库,除常规Python模块外,还有一些数据文件需要放在/usr/local/lib/python2.7/dist-package/mylibrary中.

不幸的是,我无法说服setup.py在那里实际安装数据文件.请注意,此行为是在安装 - 而不是sdist.

这是setup.py的略微编辑版本

module_list = list_of_files

setup(name         ='Modules',
      version      ='1.33.7',
      description  ='My Sweet Module',
      author       ='PN',
      author_email ='email',
      url          ='url',
      packages     = ['my_module'],

# I tried this. It got installed in /usr/my_module. Not ok.

      # data_files   = [ ("my_module",  ["my_module/data1",
      #                                  "my_module/data2"])]

# This doesn't install it at all.
      package_data = {"my_module" : ["my_module/data1",
                                     "my_module/data2"] }
     )
Run Code Online (Sandbox Code Playgroud)

这是在Python 2.7中(最终必须在2.6中运行),并且必须在10.04和12+之间的某些Ubuntu上运行.现在正在12.04开发它.

python distutils python-2.7

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