maps.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <title>Gravity: Map</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" class="active"><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"><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">Map</h1><hr>
  73. <p class="section-content">
  74. Maps are associative containers implemented as pairs each of which maps a key to a value.
  75. You can create a map by placing a series of comma-separated entries inside square brackets. Each entry is a key and a value separated by a colon:
  76. </p>
  77. <pre><code class="swift">
  78. // create a new map with 4 entries
  79. var d = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
  80. // map has a count property
  81. var n = d.count; // n is 4
  82. // create an empty map
  83. var map = [:];
  84. </code></pre>
  85. <h4 class="section-h4">Looking up values</h4>
  86. <p>You can access an element from a list by calling the subscript operator [] on it with the key of the element you want:
  87. </p>
  88. <pre><code class="swift">
  89. var names = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
  90. names["Mark"]; // 1
  91. names["Andrew"]; // 2
  92. </code></pre>
  93. <h4 class="section-h4">Iterating elements</h4>
  94. <p>The subscript operator works well for finding values when you know the key you’re looking for, but sometimes you want to see everything that’s in the map. Since the Map class implements the iterator method (through the keys method), you can easily use it in a for loop:</p>
  95. <pre><code class="swift">
  96. var people = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
  97. for (var name in people.keys()) {
  98. System.print("Current name is " + name);
  99. }
  100. </code></pre>
  101. <h4 class="section-h4">Adding elements</h4>
  102. <p>An item can be added to a map by simply setting a key/value:</p>
  103. <pre><code class="swift">
  104. var people = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
  105. people["Kiara"] = 5; // people now contains the "Kiara" key with value 5
  106. </code></pre>
  107. <h4 class="section-h4">Removing elements</h4>
  108. <p>The remove method has been added to the map class as a conveniente way to remove keys:</p>
  109. <pre><code class="swift">
  110. var people = ["Mark":1, "Andrew":2, "Paul":3, "Ross":4];
  111. people.remove("Paul");
  112. people.remove("Ross");
  113. return people.count; // 2 is returned in this case
  114. </code></pre>
  115. </div>
  116. </div> <!-- /row -->
  117. </div> <!-- /main-content -->
  118. </div> <!-- /container -->
  119. <!-- BEGIN FOOTER -->
  120. <footer class="navbar-fixed-bottom">
  121. <div class="container footer">
  122. <p>
  123. </p>
  124. </div>
  125. </footer>
  126. <!-- END FOOTER -->
  127. <!-- Bootstrap JS -->
  128. <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
  129. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  130. <!-- Highlights JS -->
  131. <script src="scripts/highlight/highlight.min.js"></script>
  132. <script>hljs.initHighlightingOnLoad();</script>
  133. </body>
  134. </html>