是否可以在if的语句修饰符形式中包含多个语句?

时间:2012-11-24 10:16:21

标签: perl

使用Euler项目自学Perl。 Anywho,

print "Hei" if 1==1;

就像一个魅力。

是否可以在if之前包含多个语句,如此

{print "4";print="2";} if 4!=2;

我知道具体的语法不起作用,但我认为我想做的事情是显而易见的。可能与否?

聚苯乙烯。我也知道我可以用常规

来做到这一点
if(){}

3 个答案:

答案 0 :(得分:9)

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");
}

答案 1 :(得分:8)

只需在其前添加do

do {print "4";print="2";} if 4!=2;

请注意,我不会在任何现实场景中推荐这种代码。正常

if (condition)
{
    code;
}

表单更加熟悉,更易于阅读和调试,并且有缩进指导读者关于控制流程。

答案 2 :(得分:5)

您可以将其包装在do块中:

do {print 1; print 2; } if 1;