Perl 风格:永远不要定义 "TRUE" 和 "FALSE"

  • 这种语言理解布尔值。永远不要自己定义它们!这是糟糕的代码

         $TRUE  = (1 == 1);
         $FALSE = (0 == 1);
    
         if ( ($var =~ /pattern/ == $TRUE  ) { .... }
         if ( ($var =~ /pattern/ == $FALSE ) { .... }
         if ( ($var =~ /pattern/ eq $TRUE  ) { .... }
         if ( ($var =~ /pattern/ eq $FALSE ) { .... }
    
         sub getone { return "This string is true" }
    
         if ( getone() == $TRUE  ) { .... }
         if ( getone() == $FALSE ) { .... }
         if ( getone() eq $TRUE  ) { .... }
         if ( getone() eq $FALSE ) { .... }
    
  • 想象这种进展的荒谬性,并在第一个地方停下来。

         if (    getone() )                       { .... }                   
         if (    getone() == $TRUE  )             { .... }
         if (   (getone() == $TRUE) == $TRUE  )           { .... }
         if ( ( (getone() == $TRUE) == $TRUE) == $TRUE  ) { .... }
    

前往 拥抱模式匹配
返回 不要过度使用 `?:’
返回 首页

版权 © 1998, Tom Christiansen 版权所有。

标签

反馈

这篇文章有问题吗?请在 GitHub 上打开一个问题或拉取请求以帮助我们。