Mercurial Hosting > luan
comparison website/src/diff.html @ 367:c207be7cf45d
more documentation
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 16 Apr 2015 18:44:55 -0600 |
parents | 705e4d6c3dbb |
children | 7999601586b1 |
comparison
equal
deleted
inserted
replaced
366:82ba0a82cd00 | 367:c207be7cf45d |
---|---|
43 <a href="#stmt">Statements</a> | 43 <a href="#stmt">Statements</a> |
44 <ul> | 44 <ul> |
45 <li><a href="#control">Control Structures</a></li> | 45 <li><a href="#control">Control Structures</a></li> |
46 <li><a href="#for">For Statement</a></li> | 46 <li><a href="#for">For Statement</a></li> |
47 <li><a href="#logical">Logical Statements</a></li> | 47 <li><a href="#logical">Logical Statements</a></li> |
48 <li><a href="#template-stmt">Template Statements</a></li> | |
49 </ul> | |
50 </li> | |
51 <li> | |
52 <a href="#expr">Expressions</a> | |
53 <ul> | |
54 <li><a href="#bit">Bitwise Operators</a></li> | |
55 <li><a href="#local-ops">Logical Operators</a></li> | |
56 <li><a href="#fn-call">Function Calls</a></li> | |
57 <li><a href="#template-expr">Template Expressions</a></li> | |
48 </ul> | 58 </ul> |
49 </li> | 59 </li> |
50 </ul> | 60 </ul> |
51 </div> | 61 </div> |
52 | 62 |
147 | 157 |
148 <tt><pre> | 158 <tt><pre> |
149 x==5 or error "x should be 5" | 159 x==5 or error "x should be 5" |
150 </pre></tt> | 160 </pre></tt> |
151 | 161 |
162 <h4 margin-top="1em"><a name="template-stmt">Template Statements</a></h4> | |
163 | |
164 <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> | |
165 | |
166 <tt><pre> | |
167 local name = "Bob" | |
168 %> | |
169 Hello <%=name%>! | |
170 Bye <%=name%>. | |
171 <% | |
172 </pre></tt> | |
173 | |
174 <p>is equivalent to the code:</p> | |
175 | |
176 <tt><pre> | |
177 local name = "Bob" | |
178 Io.stdout.write( %> | |
179 Hello <%=name%>! | |
180 Bye <%=name%>. | |
181 <% ) | |
182 </pre></tt> | |
183 | |
184 <h3 margin-top="1em"><a name="expr">Expressions</a></h3> | |
185 | |
186 <h4 margin-top="1em"><a name="bit">Bitwise Operators</a></h4> | |
187 | |
188 <p>Bitwise operators appear to be new addition to Lua 5.3 and didn't exist in Lua 5.2. Luan does not support bitwise operators, but these can be added if there is a need.</p> | |
189 | |
190 <h4 margin-top="1em"><a name="local-ops">Logical Operators</a></h4> | |
191 | |
192 <p>The only change in Luan is that <b>not</b> must take a boolean argument. This helps catch errors and makes code more readable.</p> | |
193 | |
194 <h4 margin-top="1em"><a name="fn-call">Function Calls</a></h4> | |
195 | |
196 <p>Luan does not support Lua's <tt>v:name(args)</tt> style object-oriented function call. Object oriented programming is done in Luan using closures, so this feature is not needed.</p> | |
197 | |
198 <h4 margin-top="1em"><a name="template-expr">Template Expressions</a></h4> | |
199 | |
200 <p>Luan adds a new type of expression based on <a href="http://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a> called template expressions. Template expressions return multiple values. Here is an example:</p> | |
201 | |
202 <tt><pre> | |
203 local name = "Bob" | |
204 write( %>Hello <%=name%>!<% ) | |
205 </pre></tt> | |
206 | |
207 <p>This template expression returns 3 values: "Hello ", "Bob", and "!". The strings in template expressions may be multiple lines.</p> | |
208 | |
152 </div> | 209 </div> |
153 | 210 |
154 <script src="http://www.simplyhtml.org/assets/bootstrap/js/bootstrap.min.js"></script> | 211 <script src="http://www.simplyhtml.org/assets/bootstrap/js/bootstrap.min.js"></script> |
155 </body> | 212 </body> |
156 </html> | 213 </html> |