gpt4 book ai didi

perl - 使用 perl 在 'ifdef 下创建数组字段

转载 作者:行者123 更新时间:2023-12-02 06:57:43 25 4
gpt4 key购买 nike

我正在编写一个脚本来创建名称数据库,并且该数据库有不同的版本。我的脚本正在获取版本作为输入(在没有输入的情况下它有一个默认版本)每个数据库版本都基于以前的版本,但包含一些额外的名称。

我正在尝试找到一种方法来将我的数组中的一些条目定义为 iversion 的函数。因此我使用类似 verilog IFDEF 的东西

例如:

my @DATABASE = (
"Arik",
"Ben",

if ($version = 1.3) {
"Suzie",
"Dan",
}

"Roth"
);

在这个例子中,名字 Arik、Ben 和 Roth 将出现在所有版本的数据库中,但 Suzie 和 Dan 只会出现在 1.3 版本的数据库中

有什么好的方法吗?

最佳答案

my @DATABASE = (
"Arik",
"Ben",
$version == 1.3 ? "Suzie" : (),
$version == 1.3 ? "Dan" : (),
"Roth",
);

my @DATABASE = (
"Arik",
"Ben",
( $version == 1.3 ? (
"Suzie",
"Dan",
) : () ),
"Roth",
);

sub cond { my $cond = shift; return $cond ? @_ : () }

my @DATABASE = (
"Arik",
"Ben",
cond($version == 1.3,
"Suzie",
"Dan",
),
"Roth",
);

my @DATABASE = (
"Arik",
"Ben",
( "Suzie" ) x $version == 1.3,
( "Dan" ) x $version == 1.3,
"Roth",
);

my @DATABASE = (
"Arik",
"Ben",
);
if ($version == 1.3) {
push @DATABASE, (
"Suzie",
"Dan",
);
}
push @DATABASE, (
"Roth",
);

my @DATABASE;
push @DATABASE, "Arik";
push @DATABASE, "Ben";
push @DATABASE, "Suzie" if $version == 1.3;
push @DATABASE, "Dan" if $version == 1.3;
push @DATABASE, "Roth";

关于perl - 使用 perl 在 'ifdef 下创建数组字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27965787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com