Difference between revisions of "Block Syntax"

From Exterior Memory
Jump to: navigation, search
Line 41: Line 41:
 
  fi
 
  fi
  
PHP (deprecated): using endif (or fi) as end statement, if automatically implies begin of a block:
+
[http://php.net/manual/en/control-structures.alternative-syntax.php PHP alternative control structure syntax] (deprecated): using endif (or fi) as end statement, if automatically implies begin of a block:
 
  if (x===3) :
 
  if (x===3) :
 
     echo "three!";
 
     echo "three!";

Revision as of 23:01, 20 March 2012

Most programming languages use curly brackets { } to group statements, forming a block. However, this has the inherent problem that it is often a fight between style fanatics to either save space and write it on the same line as the condition, or style fanatics to write it on a seperate line, aligning the opening and closing brackets. There are better alternatives for curly brackets (most language designers feel that curly brackets where a terribly idea in the first place). Bellow are some alternatives.

C syntax with starting bracket on same line as the conditional statement:

if (x==3) {
    echo "three!";
    return;
}

C syntax with the starting bracket aligned with the closing bracket:

if (x==3)
{
    echo "three!";
    return;
}

C syntax, with Whitesmiths style C indentation, arguing that { and } are not part of the if statement:

if (x==3)
    {
    echo "three!";
    return;
    }

Pascal Syntax: begin and end instead of { }:

if (x=3) then
begin
    echo "three!";
    return
end;

Shell syntax: as Pascal, but with if/then/fi instead of if/begin/end:

if [ $x -eq 3 ]
then
    echo "three!";
    return 0;
fi

Shell syntax: with if/then on the same line:

if [ $x -eq 3 ]; then
    echo "three!";
    return 0;
fi

PHP alternative control structure syntax (deprecated): using endif (or fi) as end statement, if automatically implies begin of a block:

if (x===3) :
    echo "three!";
    return;
endif;

Python syntax: indentation implies nesting, no need for end or } syntax:

if (x==3):
    echo "three!"
    return