-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTuple.html
More file actions
165 lines (165 loc) · 10.1 KB
/
Tuple.html
File metadata and controls
165 lines (165 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.12">
<meta name="author" content="v0.1">
<title>Tuple class</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
<link rel="stylesheet" href="./asciidoctor.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="./rouge-old_github.css">
<meta name="keywords" content="Agate, programming language, scripting, gamedev" />
<meta name="description" content="Agate, a simple and embeddable programming language" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body class="article toc2 toc-right">
<div id="header">
<h1><code>Tuple</code> class</h1>
<div class="details">
<span id="author" class="author">v0.1</span><br>
</div>
<div id="toc" class="toc2">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#_methods">Methods</a>
<ul class="sectlevel2">
<li><a href="#_at"><strong>at</strong>(index)</a></li>
<li><a href="#_clone"><strong>clone</strong>()</a></li>
<li><a href="#_iterate"><strong>iterate</strong>(iterator), <strong>iterator_value</strong>(iterator)</a></li>
<li><a href="#_size"><strong>size</strong></a></li>
<li><a href="#_to_s"><strong>to_s</strong></a></li>
</ul>
</li>
<li><a href="#_operators">Operators</a>
<ul class="sectlevel2">
<li><a href="#_subscript_getter"><strong>[</strong> index <strong>]</strong> operator</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>A tuple is an immutable list of at least two components. Components of the tuple are indexed from zero and indices must be of type <a href="Int.html"><code>Int</code></a>. A tuple can be built with two or more components between <code>(</code> and <code>)</code>.</p>
</div>
<div class="paragraph">
<p><a href="core.html">< Back to core unit</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_methods"><a class="anchor" href="#_methods"></a>Methods</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_at"><a class="anchor" href="#_at"></a><strong>at</strong>(index)</h3>
<div class="paragraph">
<p>Get the component at <code>index</code>. <code>index</code> can be negative to indicate a position from the end, <code>-1</code> being the last element. <code>index</code> must be valid.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="agate"><span class="k">def</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="sc">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">14</span><span class="p">,</span><span class="w"> </span><span class="s">"good"</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="err">
</span><span class="nc">IO</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="mi">3</span><span class="p">))</span><span class="w"> </span><span class="c1">#> good</span><span class="err">
</span><span class="nc">IO</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">at</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span><span class="w"> </span><span class="c1">#> true</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>See also: <a href="#_subscript_getter"><strong>[</strong> index <strong>]</strong> operator</a></p>
</div>
</div>
<div class="sect2">
<h3 id="_clone"><a class="anchor" href="#_clone"></a><strong>clone</strong>()</h3>
<div class="paragraph">
<p>Get a copy of the tuple. As a tuple is immutable, return <code>this</code>.</p>
</div>
</div>
<div class="sect2">
<h3 id="_iterate"><a class="anchor" href="#_iterate"></a><strong>iterate</strong>(iterator), <strong>iterator_value</strong>(iterator)</h3>
<div class="paragraph">
<p>Implement the <a href="lang.html#_iterator_protocol">iterator protocol</a> to iterate over the components of the tuple.</p>
</div>
</div>
<div class="sect2">
<h3 id="_size"><a class="anchor" href="#_size"></a><strong>size</strong></h3>
<div class="paragraph">
<p>Return the number of components in the tuple.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="agate"><span class="k">def</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="sc">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">14</span><span class="p">,</span><span class="w"> </span><span class="s">"good"</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="err">
</span><span class="nc">IO</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">size</span><span class="p">)</span><span class="w"> </span><span class="c1">#> 5</span></code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_to_s"><a class="anchor" href="#_to_s"></a><strong>to_s</strong></h3>
<div class="paragraph">
<p>Transform the tuple to a <a href="String.html"><code>String</code></a>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="agate"><span class="k">def</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="sc">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">14</span><span class="p">,</span><span class="w"> </span><span class="s">"good"</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="err">
</span><span class="nc">IO</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">to_s</span><span class="p">)</span><span class="w"> </span><span class="c1">#> (1, a, 3.14, good, true)</span></code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_operators"><a class="anchor" href="#_operators"></a>Operators</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_subscript_getter"><a class="anchor" href="#_subscript_getter"></a><strong>[</strong> index <strong>]</strong> operator</h3>
<div class="paragraph">
<p>Get the component at <code>index</code>. <code>index</code> can be negative to indicate a position from the end, <code>-1</code> being the last element. If <code>index</code> is not valid, <code>nil</code> is returned.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="agate"><span class="k">def</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="sc">'a'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">14</span><span class="p">,</span><span class="w"> </span><span class="s">"good"</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="err">
</span><span class="nc">IO</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">t</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="w"> </span><span class="c1">#> good</span><span class="err">
</span><span class="nc">IO</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">t</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span><span class="w"> </span><span class="c1">#> true</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>See also: <a href="#_at"><strong>at</strong>(index)</a></p>
</div>
</div>
</div>
</div>
</div>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
messageStyle: "none",
tex2jax: {
inlineMath: [["\\(", "\\)"]],
displayMath: [["\\[", "\\]"]],
ignoreClass: "nostem|nolatexmath"
},
asciimath2jax: {
delimiters: [["\\$", "\\$"]],
ignoreClass: "nostem|noasciimath"
},
TeX: { equationNumbers: { autoNumber: "none" } }
})
MathJax.Hub.Register.StartupHook("AsciiMath Jax Ready", function () {
MathJax.InputJax.AsciiMath.postfilterHooks.Add(function (data, node) {
if ((node = data.script.parentNode) && (node = node.parentNode) && node.classList.contains("stemblock")) {
data.math.root.display = "block"
}
return data
})
})
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>
</body>
</html>