control-flow.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <title>Gravity: Control flow</title>
  6. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
  7. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  8. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
  9. <link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
  10. <link rel="stylesheet" href="stylesheets/styles.css">
  11. </head>
  12. <body>
  13. <!-- BEGIN NAVIGATION BAR -->
  14. <nav class="navbar navbar-default navbar-fixed-top">
  15. <div class="container">
  16. <div class="navbar-header">
  17. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  18. <span class="sr-only">Toggle navigation</span>
  19. <span class="icon-bar"></span>
  20. <span class="icon-bar"></span>
  21. <span class="icon-bar"></span>
  22. </button>
  23. <a class="navbar-brand" href="http://gravity-lang.org"><img src="images/logo.png" width="32px" height="36px"></a>
  24. </div>
  25. <div id="navbar" class="navbar-collapse collapse">
  26. <ul class="nav navbar-nav navbar-right">
  27. <li class="active"><a href="index.html">Gravity</a></li>
  28. <li><a href="internals/index.html">Internals</a></li>
  29. <li><a href="https://github.com/marcobambini/gravity">GitHub</a></li>
  30. </ul>
  31. </div><!--/.nav-collapse -->
  32. </div>
  33. </nav>
  34. <!-- END NAVIGATION BAR -->
  35. <div class="container body-container">
  36. <div class="main-content">
  37. <div class="row">
  38. <!-- BEGIN SIDEBAR -->
  39. <div class="col-sm-3 border-right section-left">
  40. <div saveheight="1" class="sidebar-nav">
  41. <h4>INTRODUCTION</h4>
  42. <ul>
  43. <li><a href="index.html"><span>Introduction</span></a></li>
  44. <li><a href="getting-started.html"><span>Getting Started</span></a></li>
  45. </ul>
  46. <h4>LANGUAGE GUIDE</h4>
  47. <ul>
  48. <li><a href="syntax.html"><span>Syntax</span></a></li>
  49. <li><a href="operators.html"><span>Operators</span></a></li>
  50. <li><a href="types.html"><span>Types</span></a></li>
  51. <li><a href="lists.html"><span>Lists</span></a></li>
  52. <li><a href="maps.html"><span>Maps</span></a></li>
  53. <li><a href="enum.html"><span>Enum</span></a></li>
  54. <li><a href="functions.html"><span>Functions</span></a></li>
  55. <li><a href="closures.html"><span>Closures</span></a></li>
  56. <li><a href="classes.html"><span>Classes</span></a></li>
  57. <li><a href="control-flow.html" class="active"><span>Control Flow</span></a></li>
  58. <li><a href="loops.html"><span>Loops</span></a></li>
  59. <li><a href="fibers.html"><span>Fibers</span></a></li>
  60. </ul>
  61. <h4>ADVANCED</h4>
  62. <ul>
  63. <li><a href="api.html"><span>Embedding API</span></a></li>
  64. <li><a href="system.html"><span>System class</span></a></li>
  65. <li><a href="unit-test.html"><span>Unit test</span></a></li>
  66. <li><a href="contributing.html"><span>Contributing</span></a></li>
  67. </ul>
  68. </div>
  69. </div>
  70. <!-- END SIDEBAR -->
  71. <div class="col-sm-9 border-left section-right">
  72. <h1 class="section-header">Control flow</h1><hr>
  73. <p class="section-content">
  74. Gravity provides a variety of control flow statements. Control flow is used to determine which chunks of code are executed and how many times. Branching statements and expressions decide whether or not to execute some code and looping ones execute something more than once.
  75. </p>
  76. <h4 class="section-h4">If statement</h4>
  77. <p>It is often useful to execute different pieces of code based on certain conditions. You might want to run an extra piece of code when an error occurs, or to display a message when a value becomes too high or too low. To do this, you make parts of your code conditional. In its simplest form, the if statement has a single if condition. It executes a set of statements only if that condition is true:</p>
  78. <pre><code class="swift">
  79. var counter = 30;
  80. if (counter <= 10) {
  81. // do something here
  82. }
  83. </code></pre>
  84. <p>The if statement can provide an alternative set of statements, known as an else clause, for situations when the if condition is false. These statements are indicated by the else keyword:</p>
  85. <pre><code class="swift">
  86. var counter = 30;
  87. if (counter <= 10) {
  88. // do something here
  89. } else {
  90. // do something else here
  91. }
  92. </code></pre>
  93. <p>More complex if statement:</p>
  94. <pre><code class="swift">
  95. var counter = 30;
  96. if (counter <= 10) {
  97. // do something here
  98. } else if (counter <= 20) {
  99. // do something else here
  100. } else {
  101. // do something else here
  102. }
  103. </code></pre>
  104. <h4 class="section-h4">Switch statement</h4>
  105. <p>TO DO</p>
  106. <pre><code class="swift">
  107. </code></pre>
  108. </div>
  109. </div> <!-- /row -->
  110. </div> <!-- /main-content -->
  111. </div> <!-- /container -->
  112. <!-- BEGIN FOOTER -->
  113. <footer class="navbar-fixed-bottom">
  114. <div class="container footer">
  115. <p>
  116. </p>
  117. </div>
  118. </footer>
  119. <!-- END FOOTER -->
  120. <!-- Bootstrap JS -->
  121. <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
  122. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  123. <!-- Highlights JS -->
  124. <script src="scripts/highlight/highlight.min.js"></script>
  125. <script>hljs.initHighlightingOnLoad();</script>
  126. </body>
  127. </html>