you are viewing a single comment's thread
view the rest of the comments
[–] 209 points 2 years ago (19 children)

I propose a new, more threatening kind of control flow.

do {
  /* something */
} or else {
  /* you don't want to find out */
}
  • source
  • hideshow 19 child comments
  • [–] 59 points 2 years ago (11 children)

    Some C++ style guides suggest the following naming convention for functions that crash on any error

    OpenFileOrDie()
    
  • source
  • parent
  • hideshow 11 child comments
  • [–] 26 points 2 years ago (4 children)

    PHP has the always wonderful (and perfectly functional) syntax of

    logUserIn() or die();

  • source
  • parent
  • hideshow 4 child comments
  • [–] 6 points 2 years ago (3 children)
  • [–] 10 points 2 years ago*

    Perl also has unless() for the very purpose in OP, which is a more sensible choice.

    Oh, and if you need to reinforce your belief that Perl is a mess, the single-quote character can be used as a package separator instead of "::". This was set in the 90s when nobody was quite sure of the right syntax for package separators, so it borrowed "::" from C++ and the single quote from Ada (I think).

    That means the ifn't() in OP can be interpreted as calling the t() function on the ifn package.

    The "::" separator is vastly preferred, though. Single quotes run havoc on syntax highlighting text editors (since they can also be used for strings). About the only time I've seen it used is a joke module, Acme::don't.

  • source
  • parent
  • [–] 8 points 2 years ago

    It exists, kind of. Python has this construct

    for item in iterable:
        ...
    else:
         ...
    

    which always puzzles me, since it depends on a break statement execution. I always have to look it up when the else block is executed.

  • source
  • parent