comparison website/src/manual.html.luan @ 1092:a26fbde7ee28

documentation
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 08 Jan 2017 17:23:06 -0700
parents 616761e0b9f6
children ad6b3b9fef40
comparison
equal deleted inserted replaced
1091:20d5968e65cc 1092:a26fbde7ee28
532 and cannot be used as names: 532 and cannot be used as names:
533 533
534 534
535 <pre> 535 <pre>
536 and break do else elseif end 536 and break do else elseif end
537 end_do end_for end_function end_if end_while
537 false for function goto if in 538 false for function goto if in
538 local nil not or repeat return 539 local nil not or repeat return
539 then true until while 540 then true until while
540 </pre> 541 </pre>
541 542
783 784
784 <p> 785 <p>
785 A block can be explicitly delimited to produce a single statement: 786 A block can be explicitly delimited to produce a single statement:
786 787
787 <pre> 788 <pre>
788 stat ::= <b>do</b> block <b>end</b> 789 stat ::= <b>do</b> block end_do
790 end_do ::= <b>end_do</b> | <b>end</b>
789 </pre> 791 </pre>
790 792
791 <p> 793 <p>
792 Explicit blocks are useful 794 Explicit blocks are useful
793 to control the scope of variable declarations. 795 to control the scope of variable declarations.
919 The control structures 921 The control structures
920 <b>if</b>, <b>while</b>, and <b>repeat</b> have the usual meaning and 922 <b>if</b>, <b>while</b>, and <b>repeat</b> have the usual meaning and
921 familiar syntax: 923 familiar syntax:
922 924
923 <pre> 925 <pre>
924 stat ::= <b>while</b> exp <b>do</b> block <b>end</b> 926 stat ::= <b>while</b> exp <b>do</b> block end_while
925 stat ::= <b>repeat</b> block <b>until</b> exp 927 stat ::= <b>repeat</b> block <b>until</b> exp
926 stat ::= <b>if</b> exp <b>then</b> block {<b>elseif</b> exp <b>then</b> block} [<b>else</b> block] <b>end</b> 928 stat ::= <b>if</b> exp <b>then</b> block {<b>elseif</b> exp <b>then</b> block} [<b>else</b> block] end_if
929 end_while ::= <b>end_while</b> | <b>end</b>
930 end_if ::= <b>end_if</b> | <b>end</b>
927 </pre> 931 </pre>
928 932
929 <p> 933 <p>
930 Luan also has a <b>for</b> statement (see <a href="#for">For Statement</a>). 934 Luan also has a <b>for</b> statement (see <a href="#for">For Statement</a>).
931 935
982 On each iteration, the iterator function is called to produce a new value, 986 On each iteration, the iterator function is called to produce a new value,
983 stopping when this new value is <b>nil</b>. 987 stopping when this new value is <b>nil</b>.
984 The <b>for</b> loop has the following syntax: 988 The <b>for</b> loop has the following syntax:
985 989
986 <pre> 990 <pre>
987 stat ::= <b>for</b> namelist <b>in</b> exp <b>do</b> block <b>end</b> 991 stat ::= <b>for</b> namelist <b>in</b> exp <b>do</b> block end_for
988 namelist ::= Name {&lsquo;<b>,</b>&rsquo; Name} 992 namelist ::= Name {&lsquo;<b>,</b>&rsquo; Name}
993 end_for ::= <b>end_for</b> | <b>end</b>
989 </pre> 994 </pre>
990 995
991 <p> 996 <p>
992 A <b>for</b> statement like 997 A <b>for</b> statement like
993 998
1517 <p> 1522 <p>
1518 The syntax for function definition is 1523 The syntax for function definition is
1519 1524
1520 <pre> 1525 <pre>
1521 functiondef ::= <b>function</b> funcbody 1526 functiondef ::= <b>function</b> funcbody
1522 funcbody ::= &lsquo;<b>(</b>&rsquo; [parlist] &lsquo;<b>)</b>&rsquo; block <b>end</b> 1527 funcbody ::= &lsquo;<b>(</b>&rsquo; [parlist] &lsquo;<b>)</b>&rsquo; block end_function
1528 end_function ::= <b>end_function</b> | <b>end</b>
1523 </pre> 1529 </pre>
1524 1530
1525 <p> 1531 <p>
1526 The following syntactic sugar simplifies function definitions: 1532 The following syntactic sugar simplifies function definitions:
1527 1533