小编Lob*_*ter的帖子

如何在golang中编写简单的正则表达式?

我正在尝试编写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个空格.我做错了什么?

regex go

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

如何通过符文数组拆分GO中的字符串?

如果有任何方法将字符串拆分为字符串数组,那么当你将符号作为符号数组时?有一个我想要的例子:

seperators = {' ',')','('}
SomeFunction("my string(qq bb)zz",seperators) => {"my","string","qq","bb","zz"}
Run Code Online (Sandbox Code Playgroud)

string split go

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

安装 lua 套接字库

我正在尝试安装 luasocket,但我找不到任何有关如何执行此操作的信息。我是从luaforge luasocket-2.0.2.tar.gz存档下载的,但是没有configure文件,只有MVS解决方案。那么,如何获得编译的库呢?

sockets lua luasocket

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

如何获取函数的名称

我有个问题。如何在不使用调试命名空间的情况下知道调用我的函数的函数的名称。例如:

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)

如果允许我使用调试命名空间,那会很容易,但我可以使用。有人有什么想法吗?对不起我的英语不好。

lua function

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

使用QTcpSocket的Tcp包

我知道TCP保证所有数据包都会到达.但是数据包可以分成2个或更多吗?我正在使用Qt类QTcpSocket,我想知道ReadyRead()只有当完整数据包到达时才发出信号.或者换句话说,是否有意义在第一个字节中发送数据包大小然后在循环中等待直到所有字节都到达?或者我可以打电话socket->readAll(),我必须得到一个完整的数据包?

qt tcp

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

C++对象构造函数数组

我有几个名为Child1,Child2等的类,继承自对象Parent.我需要通过名称创建一个对象,例如,如果我有字符串"Child1",我需要创建对象Child1,依此类推.

我想到了类似的东西:

struct registry_entry {
    const char* name;
    IREGISTRY* (*initializer)(); 
};

struct registry_entry registry_list[] =
{
    {"xml", &REGISTRY_XML::REGISTRY_XML},
}
Run Code Online (Sandbox Code Playgroud)

但我无法得到对象构造函数的地址.我相信这个问题必须已经解决,而且解决方案很简单,但我找不到它.

c++ design-patterns

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

ios uiscrollview addsubview无法正常工作

我是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的故事板上添加按钮,则会出现按钮,我可以滚动视图.

对不起我的语言

iphone objective-c uiscrollview addsubview ios

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

Openresty content_by_lua_file

我正在尝试在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

lua nginx openresty

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

将自定义C++对象传递给Qml错误(无属性)

我正在尝试编写代码,通过信号将一些数据从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)

c++ qt qml

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

Qt qInstallMessageHandler 编码

当我通过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)

c++ qt

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

C中具有相同名称的函数

我正在尝试编译旧项目,但是我收到了一个错误.该项目实现了功能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)

c function

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