我正在尝试编写regexp,它返回以dot开头并直到第一个空格的字符串的子字符串.但我是正则表达式的新手,所以我尝试了类似的东西,它根本不起作用:
package main
import "fmt"
import "regexp"
func main() {
re := regexp.MustCompile("\\.* ")
fmt.Printf(re.FindString(".d 1000=11,12")) // Must return d
fmt.Printf(re.FindString("e 2000=11")) // Must return nothing or ""
fmt.Printf(re.FindString(".e2000=11")) // Must return nothing or ""
}
Run Code Online (Sandbox Code Playgroud)
这段代码只是golang中的白色3个空格.我做错了什么?
如果有任何方法将字符串拆分为字符串数组,那么当你将符号作为符号数组时?有一个我想要的例子:
seperators = {' ',')','('}
SomeFunction("my string(qq bb)zz",seperators) => {"my","string","qq","bb","zz"}
Run Code Online (Sandbox Code Playgroud) 我正在尝试安装 luasocket,但我找不到任何有关如何执行此操作的信息。我是从luaforge luasocket-2.0.2.tar.gz存档下载的,但是没有configure文件,只有MVS解决方案。那么,如何获得编译的库呢?
我有个问题。如何在不使用调试命名空间的情况下知道调用我的函数的函数的名称。例如:
function test1()
test2()
end
function test2()
--How to get here name of function which have called my function test2.
--How to get here "test1"?
end
Run Code Online (Sandbox Code Playgroud)
如果允许我使用调试命名空间,那会很容易,但我可以使用。有人有什么想法吗?对不起我的英语不好。
我知道TCP保证所有数据包都会到达.但是数据包可以分成2个或更多吗?我正在使用Qt类QTcpSocket,我想知道ReadyRead()
只有当完整数据包到达时才发出信号.或者换句话说,是否有意义在第一个字节中发送数据包大小然后在循环中等待直到所有字节都到达?或者我可以打电话socket->readAll()
,我必须得到一个完整的数据包?
我有几个名为Child1,Child2等的类,继承自对象Parent.我需要通过名称创建一个对象,例如,如果我有字符串"Child1",我需要创建对象Child1,依此类推.
我想到了类似的东西:
struct registry_entry {
const char* name;
IREGISTRY* (*initializer)();
};
struct registry_entry registry_list[] =
{
{"xml", ®ISTRY_XML::REGISTRY_XML},
}
Run Code Online (Sandbox Code Playgroud)
但我无法得到对象构造函数的地址.我相信这个问题必须已经解决,而且解决方案很简单,但我找不到它.
我是IOS开发的新手,但我遇到了UIScrollView的问题.首先,我在故事板中创建了Scroll View并添加了
@property (retain, nonatomic) IBOutlet UIScrollView *mainScroll;
Run Code Online (Sandbox Code Playgroud)
在视图控制器处理程序
在viewDidLoad方法中我有那个代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.mainScroll.contentSize = CGSizeMake(100.0,100.0); // Have to set a size here related to your content.
// You should set these.
self.mainScroll.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.mainScroll.minimumZoomScale = .5; // You will have to set some values for these
self.mainScroll.maximumZoomScale = 2.0;
self.mainScroll.zoomScale = 1;
UIButton* b = [[UIButton alloc] init];
[b setBounds:CGRectMake(.0f,0.f,100.0,100.0)];
[self.mainScroll addSubview:b];
}
Run Code Online (Sandbox Code Playgroud)
但模拟器中没有任何内容.但是,如果我在IB的故事板上添加按钮,则会出现按钮,我可以滚动视图.
对不起我的语言
我正在尝试在OpenResty中创建基本的hello单词页面.如果我使用content_by_lua,它工作正常,但是当我尝试使用content_by_lua_file时,我遇到了这个错误:
2015/01/22 13:52:35 [alert] 2183#0: lua_code_cache is off; this will hurt performance in /Users/lobster/documents/web_server/conf/nginx.conf:10
2015/01/22 13:52:38 [error] 2223#0: *4 failed to load external Lua file "/Users/lobster/documents/web_server/./lua/main.lua": cannot open /Users/lobster/documents/web_server/./lua/main.lua: Permission denied, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", host: "localhost:8080"
Run Code Online (Sandbox Code Playgroud)
但它没有意义,因为我可以轻松地更改/Users/lobster/documents/web_server/lua/main.lua文件.有我的配置:
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
lua_package_path '/lua/main.lua;';
server {
lua_code_cache off;
listen 8080;
location / {
default_type 'text/plain';
content_by_lua_file ./lua/main.lua;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我从root启动nginx,因此nginx可以访问我计算机上的任何文件.我做错了什么?
UPD:我使用content_by_lua修复了它,里面有require
我正在尝试编写代码,通过信号将一些数据从C++引擎传递到Qml脚本,但看起来我做错了,因为当我在Qml中收到信号时,我的对象没有任何方法或属性!看看那段代码:
Signaller - 调用信号的类:signaller.h:
class Signaller : public QObject
{
Q_OBJECT
public:
explicit Signaller(QObject *parent = 0);
Q_INVOKABLE void invokeSignal();
signals:
void mysignal(TestClass test);
public slots:
};
Run Code Online (Sandbox Code Playgroud)
signaller.cpp:
Signaller::Signaller(QObject *parent) :
QObject(parent)
{
}
void Signaller::invokeSignal()
{
TestClass s;
emit mysignal(s);
}
Run Code Online (Sandbox Code Playgroud)
TestClass - 将传递给Qml引擎的类,它必须在Qml脚本中具有测试方法:
Test.h:
class TestClass : public QObject
{
Q_OBJECT
public:
explicit TestClass(QObject *parent = 0);
TestClass(const TestClass& obj);
~TestClass();
Q_INVOKABLE void test();
signals:
public slots:
};
Q_DECLARE_METATYPE(TestClass)
Run Code Online (Sandbox Code Playgroud)
TEST.CPP:
TestClass::TestClass(QObject *parent) :
QObject(parent)
{
qDebug()<<"TestClass::TestClass()";
}
TestClass::TestClass(const …
Run Code Online (Sandbox Code Playgroud) 当我通过qInstallMessageHandler
函数实现我的自定义日志处理程序时,调试日志中的俄语文本有问题。目前,我的代码是:
void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg) {
QByteArray localMsg = msg.toLatin1();
QString stringType;
switch (type) {
case QtDebugMsg:
stringType = "D";
break;
case QtWarningMsg:
stringType = "W";
break;
case QtCriticalMsg:
stringType = "C";
break;
case QtFatalMsg:
stringType = "Fatal";
break;
default:
stringType = "Unknown";
}
QString logString = QString("[%1] %2:%3 - %4\n")
.arg(stringType)
.arg(context.function)
.arg(context.line)
.arg(localMsg.constData());
if (__logFile.isOpen()) {
QTextStream stream(&__logFile);
stream << logString;
}
QTextStream stderrStream(stderr, QIODevice::WriteOnly);
stderrStream<<logString;
if (type == QtFatalMsg) { …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编译旧项目,但是我收到了一个错误.该项目实现了功能dprintf
,这是一种printf
功能.然而,当我今天尝试编译该项目时,我发现dprintf
已经定义了stdio.h
.所以我的问题是 - 如何隐藏标准dprintf
函数,因为现在我经常遇到这样的错误:
ntreg.c:82: error: conflicting types for 'dprintf'
/usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here
ntreg.c:93: error: conflicting types for 'dprintf'
/usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here
Run Code Online (Sandbox Code Playgroud)