为什么Perl控制语句需要大括号?

前端之家收集整理的这篇文章主要介绍了为什么Perl控制语句需要大括号?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能看起来像最近的问题,问 why Perl doesn’t allow one-liners to be “unblocked,”,但我发现这个问题的答案不能令人满意,因为他们提到 the syntax documentation that says that braces are required,我认为是只是乞讨的问题,或忽略了这个问题,只是提供无支持的替代品。

为什么Perl需要大括号用于控制语句,如if和for?换句话说,为什么Perl需要块而不是语句,像其他一些流行的语言允许?

解决方法

一个原因可能是某些样式要求你应该总是使用大括号控制结构,即使一个衬垫,以避免打破他们以后,例如:
if (condition) 
   myObject.doSomething();
else 
   myObject.doSomethingElse();

然后有人给第一部分添加更多东西:

if (condition)
   myObject.doSomething();
   myObject.doSomethingMore(); // Syntax error next line
else 
   myObject.doSomethingElse();

或更糟:

if (condition)
   myObject.doSomething();
else 
   myObject.doSomethingElse();
   myObject.doSomethingMore(); // Compiles,but not what you wanted.

在Perl中,这些错误是不可能的,因为不使用大括号控件结构总是一个语法错误。实际上,已在语言语法级别强制执行样式决定。

无论这是真正原因的任何部分,只有拉里的胡子知道。

猜你在找的Perl相关文章