title: Meaning of ":" and "?"
body: <p>I found semicolons &amp; question marks in a <code>Return</code> statement of an AutoIt script:</p>
  
  <pre><code>#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
  
  Func A()
    ;do somethingA
  EndFunc
  
  Func B($a,$b,$c)
    ;do somethingB
  EndFunc
  
  Func C($a,$b,$c,$d)
    ;do somethingC
  EndFunc
  
  Func CallFunc( $f, $a = Default, $b = Default, $c = Default, $c = Default )
    Return FuncName($f) = "A" ? $f() : FuncName($f) = "B" ? $f($a,$b,$c) : $f($a,$b,$c,$d)
  EndFunc
  
  Example()
  
  Func Example()
    CallFunc( A )
    CallFunc( B, 1, 2, 3 )
    CallFunc( C, 1, 2, 3, 4 )
  EndFunc
  </code></pre>
  
  <p>I know <code>FuncName()</code> returns the name of a function stored in a variable, but I don't know what question-marks &amp; semicolons mean in this <code>Return</code> statement:</p>
  
  <pre><code>Return FuncName($f) = "A" ? $f() : FuncName($f) = "B" ? $f($a,$b,$c) : $f($a,$b,$c,$d)
  </code></pre>