用 Project Euler 自学 Perl。任何人,
print "Hei" if 1==1;
奇迹般有效。
是否可以在 if 之前包含多个语句,就像这样
{print "4";print="2";} if 4!=2;
我知道特定的语法不起作用,但我认为我想要做的很明显。可能与否?
附言。我也知道我可以定期这样做
if(){}
用 Project Euler 自学 Perl。任何人,
print "Hei" if 1==1;
奇迹般有效。
是否可以在 if 之前包含多个语句,就像这样
{print "4";print="2";} if 4!=2;
我知道特定的语法不起作用,但我认为我想要做的很明显。可能与否?
附言。我也知道我可以定期这样做
if(){}
1)如前所述,您可以使用do
块:
do {print "4";print "2";} if 4!=2;
2)您可以像在 C 中一样使用逗号:
print("4"), print("2") if 4!=2;
请注意,在这种情况下,您必须用括号书写。
3) 我们知道 print() 返回“1”,所以:
print("4") && print("2") if 4!=2;
这将在第一个命令返回 true 时起作用。
4) 使用二元运算符:
print("4") | print("2") if 4!=2;
print("4") & print("2") if 4!=2;
print("4") ^ print("2") if 4!=2;
# etc
我认为这应该总是有效,但不是通常的方式。
5)使用“阵列”
(print("4"), print("2")) if 4!=2;
6) 连接
print("4") . print("2") if 4!=2;
7)man perlop
并找到更多;)
*) 写一个好人:
if( 4!=2 ) {
print("4");
print("2");
}
只需do
在它前面添加一个:
do {print "4";print="2";} if 4!=2;
请注意,我不会在任何现实生活场景中推荐这种代码。正常的
if (condition)
{
code;
}
form 更加熟悉,更易于阅读和调试,并且有缩进来指导读者了解控制流程。
您可以将其包装在一个do
块中:
do {print 1; print 2; } if 1;