小编Ste*_*ick的帖子

如何将数组存储在STL列表中?

使用C++和STL,是否有人知道如何将整数数组存储为STL列表或向量中的节点?我需要存储未知数量的数字对,并且来自其他语言我首先想到的是使用某种类似列表或矢量的数据结构......但我遇到了一些麻烦.我100%肯定我犯了一个明显的初学者的C++错误,并且真正了解这种语言的人会看一眼我正在尝试做的事情并能够让我直截了当.

所以,这就是我尝试过的.声明这样的列表有效:

stl::list<int[2]> my_list;
Run Code Online (Sandbox Code Playgroud)

然后我可以很容易地制作一个双元素数组,如下所示:

int foo[2] = {1,2};
Run Code Online (Sandbox Code Playgroud)

这编译并运行得很好.但是,只要我尝试添加foo到我的列表中,就像这样:

my_list.push_back(foo);
Run Code Online (Sandbox Code Playgroud)

我得到了一整套编译器错误,其中没有一个我真正理解(我的C++ - fu几乎不存在):

/usr/include/c++/4.0.0/ext/new_allocator.h: In member function ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = int [2]]’:
/usr/include/c++/4.0.0/bits/stl_list.h:440:   instantiated from ‘std::_List_node<_Tp>* std::list<_Tp, _Alloc>::_M_create_node(const _Tp&) [with _Tp = int [2], _Alloc = std::allocator<int [2]>]’
/usr/include/c++/4.0.0/bits/stl_list.h:1151:   instantiated from ‘void std::list<_Tp, _Alloc>::_M_insert(std::_List_iterator<_Tp>, const _Tp&) [with _Tp = int [2], _Alloc = std::allocator<int [2]>]’
/usr/include/c++/4.0.0/bits/stl_list.h:773:   instantiated from ‘void std::list<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = int [2], _Alloc = std::allocator<int [2]>]’
test.cpp:5:   instantiated …
Run Code Online (Sandbox Code Playgroud)

c++ arrays stl

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

Ruby的String#gsub,unicode和非单词字符

作为更大系列操作的一部分,我正在尝试使用更大字符串的标记化块并摆脱标点符号,非单词gobbledygook等.我使用的初始尝试String#gsub和正则\W表达式字符类,如下所示:

my_str = "Hello,"
processed = my_str.gsub(/\W/,'')
puts processed # => Hello
Run Code Online (Sandbox Code Playgroud)

超级,超级,超级简单.当然,现在我正在扩展我的程序来处理非拉丁字符,而且所有的东西都被打破了.Ruby \W似乎是类似的东西[^A-Za-z0-9_],当然,它排除了变音符号(ü,í等)的东西.所以,现在我以前简单的代码以不愉快的方式崩溃和烧毁:

my_str = "Quística."
processed = my_str.gsub(/\W/,'')
puts processed # => Qustica
Run Code Online (Sandbox Code Playgroud)

请注意,gsub()必须删除带重音的"í"字符.我想到解决这个问题的一种方法是扩展Ruby的\ W白名单以包含更高的Unicode代码点,但是它们中有很多,我知道我会错过一些并导致问题(并且我们甚至没有开始考虑非拉丁语言......).另一种解决方案是将我想要摆脱的所有东西列入黑名单(标点符号,$ /%/&/™等),但是,再次,有很多这样的东西,我真的不想开始玩黑名单-敲击一个痣.

有没有人找到这个问题的原则解决方案?是否有一些\W我尚未发现的隐藏的,Unicode友好的版本?谢谢!

ruby regex unicode

12
推荐指数
1
解决办法
6017
查看次数

从脚本/运行器禁用Rails日志记录

有没有办法从运行的脚本中禁用所有日志记录(无论是来自ActiveRecord,Rails的其他部分,插件等)script/runner?我运行了一个很长的数据加载脚本,它产生了大量无用的日志信息.我并不是想改变script/runner环境(例如,生产,开发等) - 目前需要在"开发"环境中运行脚本,而且目前这样做没有问题.

我想做的就是在脚本生命周期内禁止所有日志记录.从阅读的文档,它看起来像如果我能得到一个处理的Rails::Configuration我应该是能够设置log_level为以外的东西:debug或者设置它loggernil.我是在正确的轨道上吗?如果是这样,我如何访问其Rails::Configuration对象?

logging ruby-on-rails

10
推荐指数
1
解决办法
9065
查看次数

Apache Pig权限问题

我正试图让Apache Pig在我的Hadoop集群上运行,并且遇到了权限问题.Pig本身正在从Pig shell中启动并连接到集群,我可以ls通过我的HDFS目录.但是,当我尝试实际加载数据并运行Pig命令时,我遇到了与权限相关的错误:

grunt> A = load 'all_annotated.txt' USING PigStorage() AS (id:long, text:chararray, lang:chararray);
grunt> DUMP A;
2011-08-24 18:11:40,961 [main] ERROR org.apache.pig.tools.grunt.Grunt - You don't have permission to perform the operation. Error from the server: org.apache.hadoop.security.AccessControlException: Permission denied: user=steven, access=WRITE, inode="":hadoop:supergroup:r-xr-xr-x
2011-08-24 18:11:40,977 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1066: Unable to open iterator for alias A
Details at logfile: /Users/steven/Desktop/Hacking/hadoop/pig/pig-0.9.0/pig_1314230681326.log
grunt> 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,all_annotated.txt是我创建的HDFS主目录中的文件,并且绝对有权访问; 无论我尝试什么文件,都会出现同样的问题load.但是,我不认为这是问题,因为错误本身表明Pig正试图在某处.在谷歌上搜索,我发现一些邮件列表帖子暗示某些Pig Latin语句(order等)需要对HDFS文件系统上临时目录的写访问权,该文件系统的位置由hadoop.tmp.dirhdfsd-site.xml中的属性控制.我不认为 load属于那个类别,但只是为了确定,我改为hadoop.tmp.dir …

permissions hadoop apache-pig hdfs

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

从上下文中获取对Canvas元素的引用?

在我的代码的一部分中,我调用getContext('2d')一个canvas元素来生成CanvasRenderingContext2D对象.该对象继续在函数之间传递一个相当大的位,并且在代码的稍后部分,能够获得对canvas产生给定上下文的原始dom元素的引用是很方便的.我在规范中找不到任何东西,但似乎应该是可能的那种东西.想法?

我可以想到很多变通办法(传递canvas元素及其上下文等),但我的代码已经足够复杂了,我宁愿直接进行.

html5 dom canvas

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

在Ruby中枚举字符的Unicode属性?

有没有办法在Ruby中枚举所有字符的Unicode属性?我可以使用Ruby 1.9的Regexp类来测试给定字符是否具有特定属性(例如,some_char =~ /\p{P}/测试是否some_char是标点符号等)......但是因为字符可以具有多个属性((例如,标点符号 ASCII等等,能够获得所有角色属性的列表会很好.

我可以手工使用unicode_data.txt,或者不管它叫什么,但这看起来像某种事情可能已经在某处完成了.UnicodeUtils似乎没有任何东西沿着这些线,谷歌搜索没有发现任何明显的东西.谢谢!

ruby unicode character-properties

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