我有这个正则表达式
([0-9]+)\(([0-9]+),([0-9]+)\)
Run Code Online (Sandbox Code Playgroud)
我正在使用构造一个没有选项(0)的NSRegularExpression.该表达式应匹配字符串
1(135,252)
Run Code Online (Sandbox Code Playgroud)
并且产生三个匹配:1,135,252.现在,我已经通过debuggex.com确认表达式是正确的并且做我想要的.但是,iOS拒绝承认我的努力和以下代码
NSString *nodeString = @"1(135,252)";
NSArray *r = [nodeRegex matchesInString:nodeString options:0 range:NSMakeRange(0, nodeString.length)];
NSLog(@"--- %@", nodeString);
for(NSTextCheckingResult *t in r) {
for(int i = 0; i < t.numberOfRanges; i++) {
NSLog(@"%@", [nodeString substringWithRange:[t rangeAtIndex:i]]);
}
}
Run Code Online (Sandbox Code Playgroud)
坚持说
--- 1(135,252)
135,252
13
5,252
5
252
Run Code Online (Sandbox Code Playgroud)
这显然是错的.
思考?
我似乎无法在Apipie的文档中找到这一点.
我准备好了这个RESTful api,我想我会用Apipie记录它.所有精细和花花公子,以及param验证都很好,但我似乎无法让它在验证失败时抛出正确的HTTP代码作为响应.例如,我有这个POST/users方法,显然在我的数据库中创建了一个用户.很好,对吧?那么,它与422无法处理的实体,如果事情是错的回应,这很好,但随后如果说,我把它的参数没有通过apipie的验证,apipies扼流圈和抛出一个良好的老式错误,沿着线的东西
Failure/Error: post '/users.json', :user => d
Apipie::ParamInvalid:
Invalid parameter 'email' value "": Must match regular expression /[a-zA-Z0-9\-.]+\@[a-zA-Z0-9\-.]+\.[a-z]{2,}/.
# ./spec/requests/usersapi_spec.rb:66:in `block (3 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
假设我对email参数进行了regexp验证.相反,我非常希望它能很好地响应(可能在json中,或者用空体),并将respose的代码设置为422.
有任何想法吗?
编辑:是的,我知道我可以禁用apipie的验证,否则就这样做......
假设给我一个看起来完全是垃圾的字符串,并且要求我识别它可能是什么,密码分析师会使用一些明显的迹象来形成一组要测试的假设。Malbolge有这样的迹象吗?以下面的字符串为例。
D'`%$p"[m}YziUxBe-2>0/pL,%7#FE~ffezcaw<^)Lxwvun4lTj0nmlejc)J`&dFE[!BXWV[ZSwQuUTMLpP2NGFEiC+G@EDCB;_?!=<;:3W765.-Q1*).-,+$#G'&feB"!a}v<]\xqpo5srqpohg-eMibg`_%cE[`Y}]?UTYRvV87MqQPONMFKJCgA)?cCB;@?87[5{38765.-Q10pM:
Run Code Online (Sandbox Code Playgroud) 我不确定这是否是Xcode 4.6.3(4H1503)附带的LLVM的实际错误,或者我是否正在做一些非常犹太的事情.代码片段如下
for(auto &a : matrix[j]) {
a = false;
}
Run Code Online (Sandbox Code Playgroud)
哪matrix一个vector是vector含有布尔的.我一直在使用Visual Studio 2012进行一段时间的开发,这似乎不是问题,但是应用程序也需要在Mac上运行,所以我继续测试它......我有点惊讶于我无法编译.仔细观察后,我发现我从铿锵声中得到了一个完整的段落故障,这通常表明非常糟糕的恶作剧正在发生.所以我迅速隔离了这段代码,并使用整数索引和所有爵士乐将循环更改为更农民的版本.它就像一个魅力.
假设我的原始循环应该正常工作我是否正确(我在SO中看到了类似的东西,除了VS2012之外没有任何可说的,真的)或者我犯了一个严重的错误你真的不应该使用这样的引用?
在向Apple报告错误之前,我想知道这一点.
编辑
#include <vector>
using namespace std;
int main(void) {
vector<vector<bool>> matrix = vector<vector<bool>>(10, vector<bool>(5, false));;
for(auto &a : matrix[0]) {
a = true;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
用clang -x c++ -std=c++11 -stdlib=libc++收益率编制
0 clang 0x0000000100c57bb2 main + 12932498
Stack dump:
0. Program arguments: /usr/bin/clang -cc1 -triple x86_64-apple-macosx10.8.0 -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name rbloop.cpp -pic-level 2 -mdisable-fp-elim …Run Code Online (Sandbox Code Playgroud) 我有这种形式的数组:[1, 2, 1, 4, 5, 4, 1, 7, 7, 6]我需要将它们切成类似的东西[[1, 2, 1], [4, 5, 4], [1], [7, 7, 6]],其中断点由连续对之间的绝对差异大于1确定.
在Ruby中有一些我可以利用的魔法,还是我不得不编写一个简单的旧迭代代码?
好的,我知道关于这个错误的帖子很多,但我找不到一个简单的例子和对问题的明确解释.免责声明:我发誓这不是一个任务:)我只是在玩智能指针,想出来,这就发生了.
shared_ptr<string> a = make_shared<string>("This is a string.");
shared_ptr<string> b = make_shared<string>("This is b string.");
cout << a.use_count() << " " << b.use_count() << endl;
a.reset(b.get());
cout << a.use_count() << " " << b.use_count() << endl;
Run Code Online (Sandbox Code Playgroud)
在这段代码之后,我希望a指向b - 就是这种情况 - 并且b的使用次数为2.相反,我得到以下输出:
1 1
1 1
Run Code Online (Sandbox Code Playgroud)
很公平,我想.毕竟,我正在传递一个原始指针,编译器/运行时应该知道它的相关控制块是什么,对吧?对?!(好吧,我真的希望编译器能够解决这个问题,但我认为这是一个简单的案例,如果不这样做,必须有充分的理由)
继续,我有以下代码
cout << a << " " << *a << endl;
cout << b << " " << *b << endl;
Run Code Online (Sandbox Code Playgroud)
很好地打印出来
0x7f8f10403288 This is b string.
0x7f8f10403288 This is b string.
Run Code Online (Sandbox Code Playgroud)
好的,这正是我的预期:现在指向b.但是,紧接着,我有一个返回0并且我离开main(),而输出则喊出以下内容
tests(62775,0x7fff7940d000) …Run Code Online (Sandbox Code Playgroud) 我有一个可能包含缺失值的 DataFrame,并且我想过滤掉至少包含一个缺失值的所有行,因此从此
\nDataFrame(a = [1, 2, 3, 4], b = [5, missing, 7, 8], c = [9, 10, missing, 12])\n4\xc3\x973 DataFrame\n Row \xe2\x94\x82 a b c\n \xe2\x94\x82 Int64 Int64? Int64?\n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n 1 \xe2\x94\x82 1 5 9\n 2 \xe2\x94\x82 2 missing 10\n 3 \xe2\x94\x82 3 7 missing\n 4 \xe2\x94\x82 4 8 12\nRun Code Online (Sandbox Code Playgroud)\n我想要类似的东西
\n Row \xe2\x94\x82 a b c\n \xe2\x94\x82 Int64 Int64? Int64?\n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n 1 \xe2\x94\x82 1 5 9\n 4 \xe2\x94\x82 4 8 12\nRun Code Online (Sandbox Code Playgroud)\n理想情况下,会有一个过滤器函数,我可以将每一行传递给 lambda,然后执行collectandfindfirst以及诸如此类的组合,但我不知道如何将 …
说我喜欢上课
class A {
public: // I know, I know...
shared_ptr<string> aString;
};
Run Code Online (Sandbox Code Playgroud)
我必须要像这样的析构函数
~A() {
aString.reset();
}
Run Code Online (Sandbox Code Playgroud)
确保所有权得到妥善保释?我做了一些测试,似乎我没有 - 也就是说,当A的实例超出范围或被删除(或重置,如果我通过shared_ptr引用它)时,字符串也会被删除(我用一个更复杂的例子来证实这一点).但是,这可能是我正在使用的编译器特有的实现(clang-700.0.72).
我的问题是:总是如此,或者明确重置那些实例更好,就像删除任何其他哑指针一样?
我有以下内容
t <- structure(list(name = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("Alice", "Bob",
"Jane Doe", "John Doe"), class = "factor"), school = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, …Run Code Online (Sandbox Code Playgroud) c++ ×3
c++11 ×3
api ×1
arrays ×1
chunks ×1
dataframe ×1
destructor ×1
http-headers ×1
ios ×1
julia ×1
llvm-clang ×1
malbolge ×1
objective-c ×1
r ×1
reduce ×1
regex ×1
rest ×1
ruby ×1
shared-ptr ×1
slice ×1