gpt4 book ai didi

regex - Perl if 语句混淆

转载 作者:行者123 更新时间:2023-12-01 07:42:38 24 4
gpt4 key购买 nike

此代码是 if陈述;我想测试是否$rtgene包含 trn .
我用 $rtgene= nad3 测试了代码:

if ($rtgene!~/trn/){
$end=$data[$i][0]+100;
}
else{
$end =$data[$i][1];
}
print $end;

这是一个不起作用的替代表达式:
($rtgene!~/trn/)? $end=$data[$i][0]+100 : $end=$data[$i][1]; print $end;

问题出在第一个代码(正常的 if else 语句)中,它可以工作并给我预期的结果,但替代代码(最后一行)不起作用;它总是执行 else陈述。

问题 : 这个问题的原因是什么?如何解决?

最佳答案

由于您试图将两个值之一分配给 $end基于条件,为什么不写这样的条件表达式:

$end = ($rtgene !~ /trn/) ? $data[$i][0]+100 : $data[$i][1];
print $end;

这避免了 ysth准确诊断的优先级问题。并且更容易理解。

Perl 可用于编写高深莫测的代码;但是,让所有代码都变得高深莫测并不是一个好主意。将作业和打印在一行上堆叠会变得难以理解。

关于regex - Perl if 语句混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10826326/

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