有没有办法使用';其他';作为Perl'中的修饰符;如果';构造(如';if';)?
我见过有没有办法使用';其他';作为Perl'中的修饰符;如果';构造(如';if';)?,perl,Perl,我见过 if(cond) {} elsif(cond2) {} else {} statement if(cond) unless(cond) {} 但是有没有一个 statement if(cond) statement2 elsif(cond) statement3 else 及 不,只有第一个 尾随if修饰符可能更准确地显示为: statement if cond 也就是说,条件周围不需要括号(因为消除歧义不需要括号)。不,只有第一个括号 尾随if修饰符可能更准确地显示为: stat
if(cond) {} elsif(cond2) {} else {}
statement if(cond)
unless(cond) {}
但是有没有一个
statement if(cond)
statement2 elsif(cond)
statement3 else
及
不,只有第一个 尾随
if
修饰符可能更准确地显示为:
statement if cond
也就是说,条件周围不需要括号(因为消除歧义不需要括号)。不,只有第一个括号 尾随
if
修饰符可能更准确地显示为:
statement if cond
也就是说,条件周围不需要括号(因为消除歧义不需要括号)。不,请参见。不,请参见。基本上:
print "foo\n" if ($foo eq $bar);
这是一条捷径
if ($foo eq $bar) {
print "foo\n";
}
我很少使用前一个,因为在第二个示例中,if
语句比第一个示例中更明显。我唯一一次使用postfixif
是这样的:
next if ($line =~ /^\s*$/);
通常短到可以接住
您可能要尝试:
use Switch;
switch ($val) {
case 1 { print "number 1" }
case "a" { print "string a" }
case [1..10,42] { print "number in list" }
case (\@array) { print "number in list" }
case /\w+/ { print "pattern" }
case qr/\w+/ { print "pattern" }
case (\%hash) { print "entry in hash" }
case (\&sub) { print "arg to subroutine" }
else { print "previous case not true" }
}
这就是我认为你真正想要的。顺便说一句,我在使用开关时遇到了问题,而且它不能与旧版本的Perl(Perl 5.8之前)一起使用。基本上:
print "foo\n" if ($foo eq $bar);
这是一条捷径
if ($foo eq $bar) {
print "foo\n";
}
我很少使用前一个,因为在第二个示例中,if
语句比第一个示例中更明显。我唯一一次使用postfixif
是这样的:
next if ($line =~ /^\s*$/);
通常短到可以接住
您可能要尝试:
use Switch;
switch ($val) {
case 1 { print "number 1" }
case "a" { print "string a" }
case [1..10,42] { print "number in list" }
case (\@array) { print "number in list" }
case /\w+/ { print "pattern" }
case qr/\w+/ { print "pattern" }
case (\%hash) { print "entry in hash" }
case (\&sub) { print "arg to subroutine" }
else { print "previous case not true" }
}
这就是我认为你真正想要的。顺便说一句,我在使用开关时遇到了问题,而且它不能与旧版本的Perl(Perl 5.8之前)一起使用。相关:,除非=如果不能。。。无需使用elsun
,elsif not
即可。相关:除非=如果not
。。。没有必要使用elsun
,elsun如果没有
就足够了。这只不过是一个链接答案。你能在这里总结一下吗?总结一下?它不是语言的一部分,所以“否”是你所能得到的总结。没有什么可以指向的,因为它不存在。这只不过是一个链接而已。你能在这里总结一下吗?总结一下?它不是语言的一部分,所以“否”是你所能得到的总结。没有什么可指的,因为它不存在。难道没有比“trailing if”更正式的名字吗编程Perl'有“…如果和除非修饰符”(第130页)。语句修饰符?难道没有比“拖尾if”更正式的名称吗编程Perl'有“…如果和除非修饰符”(第130页)。语句修饰符?