小编sun*_*dar的帖子

比较Perl中的多个字符串

我的代码是这样的:

if ( $var eq "str1" || $var eq "str2" || $var eq "str3" )
{
...
}
Run Code Online (Sandbox Code Playgroud)

反正有没有优化这个.我想要的东西:

if ( $var eq ["str1" || "str2" || "str3"] ) {...}
Run Code Online (Sandbox Code Playgroud)

perl

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

Perl继承 - 谁是父类的调用者

我有一种情况,我需要找到一个包的调用者,我的代码看起来像:

Inherited.pm:

package Inherited;
our @ISA = qw(BaseClass);
sub new {
   SUPER::new();
}
Run Code Online (Sandbox Code Playgroud)

BaseClass.pm

package BaseClass;
sub new {
  $a = caller(0);
  print $a
}
Run Code Online (Sandbox Code Playgroud)

现在我有另一个类(MyClass.pm):
MyClass.pm:

$obj = Inherited->new();  
Run Code Online (Sandbox Code Playgroud)

这打印继承.但我需要MyClass作为印刷语句.

有人可以帮我解决一下如何解决这个问题?

perl perl-module

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

QEventLoop:没有QApplication就无法使用

我正在尝试针对特定架构验证xml文件.
所以我将架构加载到QXmlSchema对象中.但我得到一些奇怪的错误.
我的代码看起来像:

int main() {

QUrl url("http://www.schema-example.org/myschema.xsd");

QXmlSchema schema;
if (schema.load(url) == true)
    qDebug() << "schema is valid";
else
    qDebug() << "schema is invalid";

return 1;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行上面的代码时,Qt错误地说:

QEventLoop:如果没有QApplication
QDBusConnection,则无法使用:在QCoreApplication之前创建的系统D_Bus连接.
申请可能行为不端.
QEventLoop:没有QApplication就无法使用

我的Qt Designer版本:qt4-designer 4:4.8.1-0ubuntu4.1
我的Qt Creator版本:qtcreator 2.4.1-0ubuntu2

有人可以帮我解决这个问题.
谢谢

qt qt4 qtxml

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

使用QDOMDocument获取第一级子节点

我正在尝试使用QDomDocument解析Xml文件.
我有根元素.现在,我需要
在根元素下找到并提取特定节点,但仅限于层次结构的第一级.

我试着用:

QDomElement root = doc.documentElement();

QDomNodeList nodeList = root.elementsByTagName("apple");

但是这会返回一个nodeList,其中包含
所有层次结构中标记为"apple"的节点.但我只需要一级搜索.

请有人帮帮我.
谢谢

c++ qt qt4

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

标签 统计

perl ×2

qt ×2

qt4 ×2

c++ ×1

perl-module ×1

qtxml ×1