小编Mor*_*eu5的帖子

NSRegularExpression行为怪异(正则表达式是正确的)

我有这个正则表达式

([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)

这显然是错的.

思考?

regex objective-c ios nsregularexpression

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

Apipie会干扰正确的错误代码

我似乎无法在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的验证,否则就这样做......

api rest ruby-on-rails http-headers

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

如何将字符串识别为 Malbolge 源代码?

假设给我一个看起来完全是垃圾的字符串,并且要求我识别它可能是什么,密码分析师会使用一些明显的迹象来形成一组要测试的假设。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)

malbolge cryptanalysis

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

Apple LLVM 4.2段错误使用基于范围的循环和引用

我不确定这是否是Xcode 4.6.3(4H1503)附带的LLVM的实际错误,或者我是否正在做一些非常犹太的事情.代码片段如下

for(auto &a : matrix[j]) {
    a = false;
}
Run Code Online (Sandbox Code Playgroud)

matrix一个vectorvector含有布尔的.我一直在使用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)

c++ segmentation-fault llvm-clang c++11

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

根据数据中的关系切片数组(在Ruby中)

我有这种形式的数组:[1, 2, 1, 4, 5, 4, 1, 7, 7, 6]我需要将它们切成类似的东西[[1, 2, 1], [4, 5, 4], [1], [7, 7, 6]],其中断点由连续对之间的绝对差异大于1确定.

在Ruby中有一些我可以利用的魔法,还是我不得不编写一个简单的旧迭代代码?

ruby arrays slice chunks

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

然而另一个"被释放的指针没有被分配"

好的,我知道关于这个错误的帖子很多,但我找不到一个简单的例子和​​对问题的明确解释.免责声明:我发誓这不是一个任务:)我只是在玩智能指针,想出来,这就发生了.

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)

c++ smart-pointers c++11

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

按没有“缺失”值的行过滤 DataFrame

我有一个可能包含缺失值的 DataFrame,并且我想过滤掉至少包含一个缺失值的所有行,因此从此

\n
DataFrame(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\n
Run 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\n
Run Code Online (Sandbox Code Playgroud)\n

理想情况下,会有一个过滤器函数,我可以将每一行传递给 lambda,然后执行collectandfindfirst以及诸如此类的组合,但我不知道如何将 …

dataframe julia

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

我是否必须在自己的析构函数中手动重置shared_ptrs?

说我喜欢上课

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).

我的问题是:总是如此,或者明确重置那些实例更好,就像删除任何其他哑指针一样?

c++ destructor shared-ptr c++11

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

如何按组减少此数据框?

我有以下内容

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)

reduce r

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