在这种情况下使用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 + last_name组合中找到searchString.
我怎样才能做到这一点?在mongo中是否有办法通过查询将两者合并为"全名",然后搜索全名?
我如何剪辑/裁剪/掩码或只是在Cocos2D中设置CCSprite的框架?
类似于:为UIView设置框架,剪切子视图= TRUE
我的CCSprite Main Sprite添加了多个Child Sprite.我只希望主Sprite精灵的Mask部分可见.有没有办法剪辑或使用CCSprite的掩码?
我可以在顶部剪切背景和图层,只留下那个可见区域,但这是唯一的方法吗?!
这是一个示例图像,展示了我想要实现的目标: alt text http://dnamique.com/maskSprite.jpg
我正在尝试使用以下命令安装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) 说我有这些类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++中寻找的是:
任何允许A类,B类和C类知道ClassX didSomething()的东西!
谢谢
我在上一篇文章中成功地最终能够在我的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) 我正在维护一个较旧的iOS项目,我似乎无法找到该FacebookSDK.framework项目的哪个版本正在使用.
我能找到的任何想法吗?
[更新]
我只有FacebookSDK.framework在项目目录中.版本是否包含在这些标题中的任何位置?没有太多运气,到处寻找.谢谢
我需要实时将最后添加的行读取到日志文件中,并捕获添加的那一行。
类似于 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)
如何捕获该尾部 NSTask 的输出?
这种方法有什么替代方法,我可以打开一个流到文件,每次添加一行时,将它输出到屏幕上?(基本日志功能)
现在这个代码出了什么问题!
标题:
#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 []属性.
谢谢
我刚看到这个帖子,描述了如何添加条件宏: #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) 我在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是否已执行的测试.
我正在尝试创建一个通用类来编写和从文件中读取对象.称之为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:\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) c++ ×4
ios ×2
python ×2
batch-file ×1
c ×1
callback ×1
command-line ×1
facebook ×1
gcc ×1
linux ×1
macos ×1
macros ×1
mongodb ×1
nstask ×1
objective-c ×1
ochamcrest ×1
ocmockito ×1
ofstream ×1
pip ×1
tail ×1
unit-testing ×1