小编Bac*_*ach的帖子

Mongodb - 如何在多个字段中查找字符串?

在这种情况下使用Pymongo.

我有User的电子邮件,first_name,last_name.

我正在使用这个Pymongo片段:

user_found = users.find({'$or':[
            {'email':{'$regex':searchString, '$options':'i'}},
            {'first_name':{'$regex':searchString, '$options':'i'}},
            {'last_name':{'$regex':searchString, '$options':'i'}}]})
Run Code Online (Sandbox Code Playgroud)

这个例子有用,如果我想找到searchString:

  • 电子邮件,或
  • first_name,或

现在我还需要在first_name + last_name组合中找到searchString.

我怎样才能做到这一点?在mongo中是否有办法通过查询将两者合并为"全名",然后搜索全名?

mongodb

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

Cocos2d iPhone - 雪碧剪裁/面具/框架

我如何剪辑/裁剪/掩码或只是在Cocos2D中设置CCSprite的框架?

类似于:为UIView设置框架,剪切子视图= TRUE

我的CCSprite Main Sprite添加了多个Child Sprite.我只希望主Sprite精灵的Mask部分可见.有没有办法剪辑或使用CCSprite的掩码?

我可以在顶部剪切背景和图层,只留下那个可见区域,但这是唯一的方法吗?!

这是一个示例图像,展示了我想要实现的目标: alt text http://dnamique.com/maskSprite.jpg

cocos2d-iphone

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

将Pip安装到较旧的Python版本中

我正在尝试使用以下命令安装mysql-python:

pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

该软件包正在下面安装,虽然我已经在系统上安装了Python 2.6.

/Library/Python/2.5/site-packages
Run Code Online (Sandbox Code Playgroud)

如何安装pip:

/Library/Python/2.6/site-packages
Run Code Online (Sandbox Code Playgroud)

我试过用:

pip install --install-option="--prefix=/Library/Python/2.6/site-packages/" mysql-python
Run Code Online (Sandbox Code Playgroud)

但那不起作用,它输出:

    Requirement already satisfied (use --upgrade to upgrade): mysql-python in 
    /Library/Python/2.5/site-packages
    Cleaning up...
Run Code Online (Sandbox Code Playgroud)

python pip

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

在c ++中有任何事件/代理/接口/通知!什么?

说我有这些类ViewA和ViewB

在目标C中使用委托模式我可以做到

@protocol ViewBDelegate{

- (void) doSomething();
}
Run Code Online (Sandbox Code Playgroud)

然后在ViewB界面中:

id<ViewBDelegate> delegate;
Run Code Online (Sandbox Code Playgroud)

然后在ViewA实现中我设置了委托:

viewB.delegate = self;
Run Code Online (Sandbox Code Playgroud)

现在我可以从viewB调用doSomething到任何未知类型的委托.

[delegate doSomething];
Run Code Online (Sandbox Code Playgroud)

"C++如何编程"是一个更糟糕的读物,无法找到演示基本设计模式的简单例子.

我在C++中寻找的是:

  • 事件 ActionScript和java
  • 或目标C中的代表或NSNotifications

任何允许A类,B类和C类知道ClassX didSomething()的东西!

谢谢

c++ callback signals-slots

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

如何从C调用C++函数指针?

我在上一篇文章中成功地最终能够在我的C++项目中使用PDcurses库中的TUI头.

现在在我班上我包括C头:

#include "tui.h"
Run Code Online (Sandbox Code Playgroud)

tui在C中并且具有菜单的这个定义:

typedef struct 
{
    char *name; /* item label */
    FUNC  func; /* (pointer to) function */
    char *desc; /* function description */
} menu;
Run Code Online (Sandbox Code Playgroud)

所以在MainView.cpp我有:

void sub0()
{
    //domenu(SubMenu0);
}

void sub1()
{
    //domenu(SubMenu1);
}


void MainView::showMainMenu()
{
    menu MainMenu[] =
    {
        { "Users", sub0, "Manage Users" },
        { "Accounts", sub1, "Manage Accounts" },
        { "Items", sub1, "Manage Items" },
        { "Staff", sub1, "Manage Staff" },
        { "", (FUNC)0, "" }  
    };
    startmenu(MainMenu, …
Run Code Online (Sandbox Code Playgroud)

c c++

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

如何找到适用于iOS的FacebookSDK.framework版本?

我正在维护一个较旧的iOS项目,我似乎无法找到该FacebookSDK.framework项目的哪个版本正在使用.

我能找到的任何想法吗?

[更新]

我只有FacebookSDK.framework在项目目录中.版本是否包含在这些标题中的任何位置?没有太多运气,到处寻找.谢谢

facebook ios

7
推荐指数
0
解决办法
5968
查看次数

我如何使用 NSTask 获得类似于 Tail -f 的东西

我需要实时将最后添加的行读取到日志文件中,并捕获添加的那一行。

类似于 Tail -f 的东西。

所以我的第一次尝试是使用 NSTask 使用 Tail -f。

使用以下代码我看不到任何输出:

    NSTask *server = [[NSTask alloc] init];
    [server setLaunchPath:@"/usr/bin/tail"];
    [server setArguments:[NSArray arrayWithObjects:@"-f", @"/path/to/my/LogFile.txt",nil]];

    NSPipe *outputPipe = [NSPipe pipe];
    [server setStandardInput:[NSPipe pipe]];
    [server setStandardOutput:outputPipe];

    [server launch];
    [server waitUntilExit];
    [server release];

    NSData *outputData = [[outputPipe fileHandleForReading] readDataToEndOfFile];
    NSString *outputString = [[[NSString alloc] initWithData:outputData encoding:NSUTF8StringEncoding] autorelease];
    NSLog (@"Output \n%@", outputString);
Run Code Online (Sandbox Code Playgroud)

使用时我可以看到预期的输出:

[server setLaunchPath:@"/bin/ls"];
Run Code Online (Sandbox Code Playgroud)
  1. 如何捕获该尾部 NSTask 的输出?

  2. 这种方法有什么替代方法,我可以打开一个流到文件,每次添加一行时,将它输出到屏幕上?(基本日志功能)

objective-c tail nstask

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

错误C2440:'=':无法从'std :: string []'转换为'std :: string []'

现在这个代码出了什么问题!

标题:

#pragma once
#include <string>
using namespace std;

class Menu
{
public:
    Menu(string []);
    ~Menu(void);

};
Run Code Online (Sandbox Code Playgroud)

执行:

#include "Menu.h"

string _choices[];

Menu::Menu(string items[])
{
    _choices = items;
}

Menu::~Menu(void)
{
}
Run Code Online (Sandbox Code Playgroud)

编译器抱怨:

error C2440: '=' : cannot convert from 'std::string []' to 'std::string []'
There are no conversions to array types, although there are conversions to references or pointers to arrays
Run Code Online (Sandbox Code Playgroud)

没有转换!那是什么呢?

请帮助,只需要传递一个血腥的字符串数组并将其设置为Menu类_choices []属性.

谢谢

c++

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

函数的条件宏#define - 导致:"function"重新定义警告

我刚看到这个帖子,描述了如何添加条件宏: #define的条件值

但在我的情况下,我在条件中定义一个函数.

#if TARGET_IPHONE_SIMULATOR

#define doSomething(){\
    \\ does something
}\

#else

#define doSomething(){\
    \\ does something else
}\

#endif
Run Code Online (Sandbox Code Playgroud)

这确实有效,除了我导致gcc编译器抛出此警告:

"doSomething" redefined
This is the location of the previous arguments
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方法来帮助摆脱警告?

更新:

所以我尝试在我的定义中包含条件:

#define doSomething(){\

#if TARGET_IPHONE_SIMULATOR
    \\ do something
#else 
    \\ do something else
#endif

}\
Run Code Online (Sandbox Code Playgroud)

但是会抛出一个错误:

error: '#' is not followed by a macro parameter.
Run Code Online (Sandbox Code Playgroud)

macros gcc c-preprocessor

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

使用OCMockito验证方法调用

我在ClassA中有这两种方法

-(IBAction)onSubmit;
-(void)validateName:(NSString*)name;
Run Code Online (Sandbox Code Playgroud)

@implementation

- (IBAction)onSubmit {
    [self validateName:self.textfield.text];
}

-(void)validateName:(NSString*)name{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我的测试如下所示:

//given
ClassA *classA = mock([ClassA class]);
classA.textfield.text = @"Foo";

// when 
[classA onSubmit];

[verify(classA) validateName:@"Foo"];
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我一直在:

Expected 1 matching invocation, but received 0
Run Code Online (Sandbox Code Playgroud)

在调用onSubmit时,如何编写验证validateName是否已执行的测试.

unit-testing ios ocmockito ochamcrest

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

c ++将未知类型传递给函数和任何类类型定义

我正在尝试创建一个通用类来编写和从文件中读取对象.称之为ActiveRecord类

只有一个方法,它保存类本身:

void ActiveRecord::saveRecord(){
 string fileName = "data.dat";

 ofstream stream(fileName.c_str(), ios::out);
 if (!stream) {
  cerr << "Error opening file: " << fileName << endl;
  exit(1);
 }
 stream.write(reinterpret_cast<const char *> (this), sizeof(ActiveRecord));
 stream.close();
}
Run Code Online (Sandbox Code Playgroud)

现在我用User类扩展这个类:

class User : public ActiveRecord
{
 public:
  User(void);
  ~User(void);
  string name;
  string lastName;
};
Run Code Online (Sandbox Code Playgroud)

创建和保存用户我想做的事情如下:

User user = User();
user.name = "John";
user.lastName = "Smith"
user.save();
Run Code Online (Sandbox Code Playgroud)

如何让这个ActiveRecord :: saveRecord()方法获取任何对象和类定义,以便它写出我发送的任何内容:

看起来像:

void ActiveRecord::saveRecord(foo_instance, FooClass){
 string fileName = "data.dat";

 ofstream stream(fileName.c_str(), ios::out);
 if (!stream) {
  cerr << "Error …
Run Code Online (Sandbox Code Playgroud)

c++ ofstream

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

从命令行调用MAC/Linux上的python脚本 - 传递参数

考虑这个设置和文件夹结构:

c:\foo
      \bin\foo.bat
      \lib\foo.py
Run Code Online (Sandbox Code Playgroud)

我有foo.bat路径添加到我的环境PATH,所以我可以从传递一些参数的任何地方调用它:

c:/>foo.bat -v 
Run Code Online (Sandbox Code Playgroud)

foo.bat包含以下代码:

@ECHO OFF
"c:\foo\lib\foo.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
Run Code Online (Sandbox Code Playgroud)

这在Windows中运行良好.

现在我希望能够在Mac或Linux中做同样的事情.

我怎样才能创建这个可执行文件,它将调用脚本lib\foo.py,传入一些参数?

谢谢

[解]

谢谢你们,你的答案帮助我最终得到了这个按预期工作的脚本:

在\ foo\bin\foo 文件中

#!/usr/bin/env bash
python /usr/local/foo/lib/foo.py $*
Run Code Online (Sandbox Code Playgroud)

python linux macos command-line batch-file

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