小编Eth*_*her的帖子

为什么.*消耗这个Perl正则表达式中的整个字符串?

为什么第一个print语句没有输出我期望的内容:

first = This is a test string, sec = This is a test string 
Run Code Online (Sandbox Code Playgroud)

由于*和+都是贪婪的,为什么内部*即在"("中的第一个匹配中不消耗整个字符串?

use strict;
use warnings;

my $string = "This is a test string";
$string =~ /((.*)*)/; 
print "first = $1, sec = $2\n";  #prints "first = This is a test string, sec ="

$string =~ /((.+)*)/;
print "first = $1, sec = $2\n";  #prints "first = This is a test string, sec = This is a test string"
Run Code Online (Sandbox Code Playgroud)

regex perl

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

添加尚未在subversion中添加的文件夹下的所有文件?

我有一个名为"files"的文件夹.它已经在存储库中.现在,新文件不断添加到此文件夹及其子文件夹中.我可以键入什么命令来添加尚未添加的所有文件.这不起作用:

svn add files
Run Code Online (Sandbox Code Playgroud)

它说

svn:警告:'files'已经受版本控制

svn

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

"Scala编程"中的合并排序会导致堆栈溢出

直接剪切和粘贴以下算法:

def msort[T](less: (T, T) => Boolean)
            (xs: List[T]): List[T] = {
  def merge(xs: List[T], ys: List[T]): List[T] =
    (xs, ys) match {
      case (Nil, _) => ys
      case (_, Nil) => xs
      case (x :: xs1, y :: ys1) =>
        if (less(x, y)) x :: merge(xs1, ys)
        else y :: merge(xs, ys1)
    }
  val n = xs.length / 2
  if (n == 0) xs
  else {
    val (ys, zs) = xs splitAt n
     merge(msort(less)(ys), msort(less)(zs))
  }
}
Run Code Online (Sandbox Code Playgroud)

导致5000个长列表上的StackOverflowError.

有没有办法优化这个,以便不会发生这种情况?

stack-overflow recursion scala

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

Perl连接池

现在我们有一个大型的perl应用程序,它使用原始DBI连接到MySQL并执行SQL语句.它每次都创建一个连接并终止.开始接近mysql的连接限制(一次200)

看起来DBIx :: Connection支持应用程序层连接池.

有没有人有过经历DBIx::Connection?连接池是否还有其他注意事项?

我还看到mod_dbd哪个是Apache mod,它看起来像处理连接池. http://httpd.apache.org/docs/2.1/mod/mod_dbd.html

mysql apache perl mod-perl

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

递归main() - 为什么会出现段错误?

为什么以下程序会出现段错误?

int main() { main(); }
Run Code Online (Sandbox Code Playgroud)

即使它是一个没有结束的递归,因此根据定义也是无效的,我不明白它为什么是segfaults(gcc 4.4.3和clang 1.5(trunk)).

c stack-overflow segmentation-fault

10
推荐指数
3
解决办法
3797
查看次数

简洁的MooseX ::声明方法签名验证错误

我一直支持在工作中使用Moose(和MooseX :: Declare)几个月.它鼓励的风格将真正有助于我们的代码库的可维护性,但不是没有学习新语法的初始成本,特别是在学习如何解析类型验证错误.

我已经在网上看到了这个问题的讨论,并认为我会向这个社区发布一个查询:

a)已知的解决方案

b)讨论验证错误消息应该是什么样子

c)提出实现一些想法的概念证明

我也会联系作者,但我也看到了这个论坛的一些很好的讨论,所以我想我会公开发布一些东西.

#!/usr/bin/perl

use MooseX::Declare;
class Foo {

    has 'x' => (isa => 'Int', is => 'ro');

    method doit( Int $id, Str :$z, Str :$y ) {
        print "doit called with id = " . $id . "\n";
        print "z = " . $z . "\n";
        print "y = " . $y . "\n";
    }

    method bar( ) {
        $self->doit(); # 2, z => 'hello', y => 'there' );
    }
}

my …
Run Code Online (Sandbox Code Playgroud)

perl moose

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

是否有任何良好的自动化框架在Perl中应用编码标准?

我所知道的是Perl :: Critic

到目前为止,我的谷歌搜索没有导致多次尝试的结果.:-(

有没有人在这里有任何建议?

任何根据我们的编码标准配置Perl :: Critic并在代码库上运行它的资源将不胜感激.

perl frameworks coding-style perl-critic

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

UIPicker在横向模式下调整大小

我正在尝试使用横向模式的UIPicker开发一个应用程序,占用(几乎)屏幕的整个宽度(使用5或6个组件).你能告诉我如何设置UIPicker的大小.非常感谢您的帮助.

iphone cocoa-touch landscape

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

当我通过数组grep时,如何获得元素的索引?

假设我有这个清单:

my @list = qw(one two three four five);
Run Code Online (Sandbox Code Playgroud)

我想抓住所有包含的元素o.我有这个:

my @containing_o = grep { /o/ } @list;
Run Code Online (Sandbox Code Playgroud)

但是我还需要做些什么才能获得索引,或者能够访问索引中的索引grep

arrays perl grep

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

什么是R的等价于Perl的地图和grep?

我对(功能)矢量操作感兴趣R.具体来说,什么是R的等同Perl的mapgrep

以下Perl脚本使用偶数数组元素并将它们乘以2:

@a1=(1..8); 
@a2 = map {$_ * 2} grep {$_ % 2 == 0} @a1;
print join(" ", @a2)
# 4 8 12 16
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做R?我得到了这个,sapply用于Perl map:

> a1 <- c(1:8)
> sapply(a1, function(x){x * 2})
[1]  2  4  6  8 10 12 14 16
Run Code Online (Sandbox Code Playgroud)

我在哪里可以阅读更多关于这种功能阵列操作的内容R

此外,有没有一个PerlR语法书,类似于Perl的Python的短语

perl grep functional-programming r map

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