小编Ric*_*ckF的帖子

如何在Moose中使用单个构建器构建多个属性?

使用Moose,是否可以创建一次构建多个属性的构建器?

我有一个项目,其中对象有几个'集'字段 - 如果请求集合中的任何成员,我想继续并填充所有.我的假设是,如果我需要这个名字,我还需要生日,因为它们在同一个表中,所以在一个查询中获得两者都会更快.

我不确定我的问题是否足够清楚,但希望一些示例代码能够说清楚.

是)我有的:

Package WidgetPerson;
use Moose;

has id => (is => 'ro', isa => 'Int' );
has name => (is => 'ro', lazy => 1, builder => '_build_name');
has birthdate => (is => 'ro', lazy => 1, builder => '_build_birthdate');
has address => (is => 'ro', lazy => 1, builder => '_build_address');

sub _build_name {
 my $self = shift;
 my ($name) = $dbh->selectrow_array("SELECT name FROM people WHERE id = ?", {}, $self->id);
 return $name;
}
sub …
Run Code Online (Sandbox Code Playgroud)

perl moose

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

为什么Perl中的/ elsif只执行第一个块?

我是Perl的新手.我有一个编写Perl程序的任务,该程序接受来自命令行的可数字,然后生成其复数形式.我在下面编写了以下代码,它没有显示编译错误.当我从命令行执行它时:(例如perl plural.pl),它会提示我输入名词,然后输入任何名词作为输入,复数形式是相同的.它不执行剩余的if语句.

例如,如果我输入单词"cat",则复数被生成为"cats".但是当我输入"教堂"这个词时,复数就会产生"教堂","飞"就像"飞翔".

这是代码:

#!/usr/bin/perl

$suffix1 = 's';
$suffix2 = 'es';
$suffix3 = 'ies';

print "Enter a countable noun to get plural: ";
$word = <STDIN>;
chomp($word);

if(substr $word, -1 == 'b' or 'd' or 'c' or 'g' or 'r' or 'j' or 'k' or 'l' or 'm' or 'n' or 'p' or 'q' or 'r' or 't' or 'v' or 'w' or 'e' or 'i' or 'o' or 'u') {
    $temp = $word.$suffix1;
    print "The plural form of the …
Run Code Online (Sandbox Code Playgroud)

perl if-statement

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

标签 统计

perl ×2

if-statement ×1

moose ×1