Mercurial Hosting > luan
comparison website/src/manual.html @ 1384:f5368cd8c056
remove template expressions and String.concat
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Thu, 15 Aug 2019 14:33:35 -0600 |
| parents | 372906d1d08b |
| children | eb8b35dccd99 |
comparison
equal
deleted
inserted
replaced
| 1383:a3d0d1c2ce89 | 1384:f5368cd8c056 |
|---|---|
| 68 <li><a href="#length">The Length Operator</a></li> | 68 <li><a href="#length">The Length Operator</a></li> |
| 69 <li><a href="#precedence">Precedence</a></li> | 69 <li><a href="#precedence">Precedence</a></li> |
| 70 <li><a href="#constructors">Table Constructors</a></li> | 70 <li><a href="#constructors">Table Constructors</a></li> |
| 71 <li><a href="#fn_calls">Function Calls</a></li> | 71 <li><a href="#fn_calls">Function Calls</a></li> |
| 72 <li><a href="#fn_def">Function Definitions</a></li> | 72 <li><a href="#fn_def">Function Definitions</a></li> |
| 73 <li><a href="#template_expr">Template Expressions</a></li> | |
| 74 </ul> | 73 </ul> |
| 75 </li> | 74 </li> |
| 76 <li><a href="#visibility">Visibility Rules</a></li> | 75 <li><a href="#visibility">Visibility Rules</a></li> |
| 77 </ul> | 76 </ul> |
| 78 </div> | 77 </div> |
| 1084 The visibility rules for local variables are explained in <a href="#visibility">Visibility Rules</a>. | 1083 The visibility rules for local variables are explained in <a href="#visibility">Visibility Rules</a>. |
| 1085 | 1084 |
| 1086 | 1085 |
| 1087 <h4 heading><a name="template_stmt" href="#template_stmt">Template Statements</a></h4> | 1086 <h4 heading><a name="template_stmt" href="#template_stmt">Template Statements</a></h4> |
| 1088 | 1087 |
| 1089 <p>Template statements are based on <a href="#template_expr">template exressions</a> and provide the full equivalent of <a href="http://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a> but in a general way. Template statements write the equivalent template exression to standard output. For example:</p> | 1088 <p>Template statements provide the full equivalent of <a href="http://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a> but in a general way. Template statements write to standard output. For example:</p> |
| 1090 | 1089 |
| 1091 <pre> | 1090 <pre> |
| 1092 local name = "Bob" | 1091 local name = "Bob" |
| 1093 %> | 1092 %> |
| 1094 Hello <%= name %>! | 1093 Hello <%= name %>! |
| 1098 | 1097 |
| 1099 <p>is equivalent to the code:</p> | 1098 <p>is equivalent to the code:</p> |
| 1100 | 1099 |
| 1101 <pre> | 1100 <pre> |
| 1102 local name = "Bob" | 1101 local name = "Bob" |
| 1103 require("luan:Io.luan").stdout.write( %> | 1102 require("luan:Io.luan").stdout.write( "Hello ", name , "!\nBye ", name , ".\n" ) |
| 1104 Hello <%= name %>! | |
| 1105 Bye <%= name %>. | |
| 1106 <% ) | |
| 1107 </pre> | 1103 </pre> |
| 1108 | 1104 |
| 1109 | 1105 |
| 1110 | 1106 |
| 1111 <h3 heading><a name="expressions" href="#expressions">Expressions</a></h3> | 1107 <h3 heading><a name="expressions" href="#expressions">Expressions</a></h3> |
| 1662 If control reaches the end of a function | 1658 If control reaches the end of a function |
| 1663 without encountering a <b>return</b> statement, | 1659 without encountering a <b>return</b> statement, |
| 1664 then the function returns with no results. | 1660 then the function returns with no results. |
| 1665 | 1661 |
| 1666 | 1662 |
| 1667 <h4 heading><a name="template_expr" href="#template_expr">Template Expressions</a></h4> | |
| 1668 | |
| 1669 <p>Luan template expression are based on <a href="http://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a>. Template expressions return multiple values. Here is an example:</p> | |
| 1670 | |
| 1671 <pre> | |
| 1672 local name = "Bob" | |
| 1673 write( %>Hello <%= name %>!<% ) | |
| 1674 </pre> | |
| 1675 | |
| 1676 <p>This is equivalent to the code:</p> | |
| 1677 | |
| 1678 <pre> | |
| 1679 local name = "Bob" | |
| 1680 write( "Hello ", name, "!" ) | |
| 1681 </pre> | |
| 1682 | |
| 1683 <p>The strings in template expressions may be multiple lines.</p> | |
| 1684 | |
| 1685 | |
| 1686 | |
| 1687 <h3 heading><a name="visibility" href="#visibility">Visibility Rules</a></h3> | 1663 <h3 heading><a name="visibility" href="#visibility">Visibility Rules</a></h3> |
| 1688 | 1664 |
| 1689 <p> | 1665 <p> |
| 1690 Luan is a lexically scoped language. | 1666 Luan is a lexically scoped language. |
| 1691 The scope of a local variable begins at the first statement after | 1667 The scope of a local variable begins at the first statement after |
| 2276 <p> | 2252 <p> |
| 2277 Receives zero or more integers. | 2253 Receives zero or more integers. |
| 2278 Returns a string with length equal to the number of arguments, | 2254 Returns a string with length equal to the number of arguments, |
| 2279 in which each character has the internal numerical code equal | 2255 in which each character has the internal numerical code equal |
| 2280 to its corresponding argument. | 2256 to its corresponding argument. |
| 2281 | |
| 2282 | |
| 2283 <h4 heading><a name="String.concat" href="#String.concat"><code>String.concat (···)</code></a></h4> | |
| 2284 | |
| 2285 <p> | |
| 2286 Concatenates the <a href="#Luan.to_string"><code>to_string</code></a> value of all arguments. | |
| 2287 | |
| 2288 | 2257 |
| 2289 | 2258 |
| 2290 <h4 heading><a name="String.encode" href="#String.encode"><code>String.encode (s)</code></a></h4> | 2259 <h4 heading><a name="String.encode" href="#String.encode"><code>String.encode (s)</code></a></h4> |
| 2291 | 2260 |
| 2292 <p> | 2261 <p> |
