小编yst*_*sth的帖子

无法通过包子类DBI定位对象方法

这是我第一次尝试使用perl进行子类化,我想知道为什么我会得到这个简单的错误...
"无法在/home/dblibs/WebDB.pm中通过包"WebDB :: st"找到对象方法"prepare"第19行." 它似乎找到了模块WebDB ok,但没有找到~st的prepare子例程
首先这里是我的包(两个包都在一个文件中,WebDB.pm)

package WebDB;
use strict;
use DBI;

sub connect {
    my $dbh = (DBI->connect ("DBI:mysql:test:127.0.0.1", "root","",
                    { PrintError => 1, RaiseError => 0 }));
    return bless $dbh, 'WebDB::st';
}

package WebDB::st;
our @ISA = qw(::st);
sub prepare {
    my ($self, $str, @args) = @_;
    $self->SUPER::prepare("/* userid:$ENV{USER} */ $str", @args);
}


1;
Run Code Online (Sandbox Code Playgroud)

我也尝试用"use base'WebDB'"替换"我们的@ISA = qw(;; st)"和同样的问题.我认为这可能是我非常简单的事情.非常感谢!简

oop perl subclass dbi

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

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

Perl相当于(Postgre)SQL BETWEEN运算符?

有这样的事吗?相当于a <= expr <= b或在SQL术语中expr BETWEEN a AND b,expr只评估一次?或者是要求这个变得愚蠢

perl

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

强大的字符串反转

我正在尝试编写一个扭转字符串的trival面试问题.

这是我的代码:

#include <string.h>

char* rev( char* str)
{
    int i,j,l;

    l = strlen(str);

    for(i=0,j=l-1; i<l/2 ; i++, j--)
    {
        str[i] = (str[i] + str[j]);
        str[j] = str[i] - str[j];
        str[j] = str[i] - str[j];
    }

    return str;
}

int main()
{
    char *str = " hello";
    printf("\nthe reverse is %s ...", rev(str));

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

基本上,这个给出了分段错误.

我有以下问题:

  1. 我得到分段错误可能是因为,字符加起来没有在ascii中定义,因此我不能将它们存储为字符,我正在使用www.codepad.org [我想知道它是否支持ascii !!].我的理解是正确的还是还有别的东西.

  2. 我如何纠正问题,对于同一平台[我的意思是为codepad.org交换]

  3. 在这里,我必须使用额外的整数l来计算长度.所以通过交换来保存单个字符空间..我正在使用额外的int !!! ..只是为了给观众留下深刻印象:) ...这种做法前夕值得!

  4. 这个是针对那些有兴趣编写单元测试/ API测试的人.我希望有一个强大的实现,所以可能的测试用例.我假设如果面试官问这么简单的问题......他肯定想要一些非常抢劫的实施和测试用例.我很少想到:

    • 传递空字符串传递整数

    • 字符串传递整数数组而不是char数组.

    • 很长的弦,

    • 单个字符串字符串的特殊字符.

任何建议/建议都会有所帮助.

c string swap

2
推荐指数
3
解决办法
1102
查看次数

ActionScript到Javascript交叉编译器

大约六个月前我学习了ActionScript和FlashBuilder,最近又听说过Google的GWT和Closure.但在深入研究java之前,我想知道是否有任何类似于GWT的项目,但是使用ActionScript作为开发语言而不是java.是否存在ActionScript-to-javascript交叉编译器或可以使用SWF并生成与javascript UI库进行通信的JavaScript的工具,因此Flash插件变得不必要了?

javascript actionscript cross-compiling

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

如何在创建特定窗口后调整其大小?

我想在创建一些游戏窗口(DirectX)后调整其大小,游戏窗口允许鼠标从边缘调整大小.但是我希望自动化这个,因为鼠标很难做到这一点:光标在边缘是不可见的,我必须首先解除对焦窗口,以便能够通过点击边缘来调整大小.要明确:我没有这个游戏的来源,所以我必须制定自己的程序才能做到这一点.

如何才能做到这一点?或者更好:是否已经存在执行这些操作的程序?

c++ directx windows-xp visual-studio-2008 window-resize

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

Perl LWP :: Simple :: getstore如何检查文件是否存在于目标目录中

在我的Perl脚本中,我LWP::Simple::getstore用来检索图像并存储为文件.但在存储如何检查该文件是否已存在之前?

这是片段

use constant FILE_DIR => "/home/destination/files/";
my $image_path = FILE_FOLDER."$item_id"."_"."$file_date.$image";
my $res = LWP::Simple::getstore($image_url,$image_path); 
Run Code Online (Sandbox Code Playgroud)

请帮我解决一下这个.

谢谢

perl file exists

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

Parse :: RecDescent - 从中​​获取信息

我正在使用Perl中的Parse :: RecDescent解析器,我似乎有最糟糕的时间从它获取信息.在线提供的信息似乎没有非平凡的例子.

这是代码:

event_function: object_list ':' event_list ';'
        <defer:
        {       #item is a special character with Parse::Recdescent.
            print Dumper($item{object_list});
            $return = $item[1];
        }
        >
        | object_list ':' ';'
        <defer:
        { 
            print Dumper($item{object_list});
            $return = $item[1];
        }
        >
Run Code Online (Sandbox Code Playgroud)

这是输出

PS W:\developers\paulnathan\rd_dir> perl parser.pl testfile
$VAR1 = 4;
$VAR1 = 8;
PS W:\developers\paulnathan\rd_dir>
Run Code Online (Sandbox Code Playgroud)

输入文件正确解析.

stuff, stuff2: pre-operation event = {foo1, foo2};
Run Code Online (Sandbox Code Playgroud)

应该输出一个由"stuff","stuff2"键入的哈希值.

思考?

编辑:

object_list : 
        object ',' object_list
        <defer:
        {

            my $retval = ();
            $retval = …
Run Code Online (Sandbox Code Playgroud)

perl parse-recdescent

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

使用三元运算符选择perl子例程

我有一种情况,我想根据一个相当简单的测试调用两个子程序之一,但参数列表非常复杂.这似乎是使用三元运算符最容易阅读并在C中工作正常,但perl等价物正在逃避我.

代码是这样的

$res = ($d eq 'something' ? \func1 : \func2)(parameters);
Run Code Online (Sandbox Code Playgroud)

但perl对)(序列非常不满,对于我的生活,我无法弄清楚要放在那里的东西

perl ternary-operator subroutine

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

使用=〜运算符进行字符串比较

使用=〜运算符进行字符串比较

我有两个数组@a包含abc99_xyz,abc9_xxx和@b包含abc99,abc9作为字符串,我只想将数组@a的abc99_xyz与@b的abc99匹配,但是当我使用时abc9也与@a的abc99_xyz匹配〜=运算符。

代码如下:

@a=qw(abc99_xyz abc9_xxx);
@b=qw(abc99 abc9);

foreach $k(@a)
        {

        foreach $h(@b)
        {
        if($k =~ $h)
        {
        print" $k == $h\n";
        }
     }
 }
Run Code Online (Sandbox Code Playgroud)

仅abc99_xyz应该与abc99匹配,而不与abc9匹配。

perl

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