estefania_exam 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +15 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/Guardfile +39 -0
- data/LICENSE.txt +22 -0
- data/README.md +12 -0
- data/Rakefile +14 -0
- data/exam.gemspec +28 -0
- data/lib/doc/Exam.html +114 -0
- data/lib/doc/Exam/Examen.html +350 -0
- data/lib/doc/Interfaz.html +285 -0
- data/lib/doc/List.html +453 -0
- data/lib/doc/Node.html +170 -0
- data/lib/doc/Object.html +121 -0
- data/lib/doc/Question.html +309 -0
- data/lib/doc/SimpleSelection.html +275 -0
- data/lib/doc/VerdaderoFalso.html +228 -0
- data/lib/doc/created.rid +9 -0
- data/lib/doc/fonts.css +167 -0
- data/lib/doc/fonts/Lato-Light.ttf +0 -0
- data/lib/doc/fonts/Lato-LightItalic.ttf +0 -0
- data/lib/doc/fonts/Lato-Regular.ttf +0 -0
- data/lib/doc/fonts/Lato-RegularItalic.ttf +0 -0
- data/lib/doc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/lib/doc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/lib/doc/images/add.png +0 -0
- data/lib/doc/images/arrow_up.png +0 -0
- data/lib/doc/images/brick.png +0 -0
- data/lib/doc/images/brick_link.png +0 -0
- data/lib/doc/images/bug.png +0 -0
- data/lib/doc/images/bullet_black.png +0 -0
- data/lib/doc/images/bullet_toggle_minus.png +0 -0
- data/lib/doc/images/bullet_toggle_plus.png +0 -0
- data/lib/doc/images/date.png +0 -0
- data/lib/doc/images/delete.png +0 -0
- data/lib/doc/images/find.png +0 -0
- data/lib/doc/images/loadingAnimation.gif +0 -0
- data/lib/doc/images/macFFBgHack.png +0 -0
- data/lib/doc/images/package.png +0 -0
- data/lib/doc/images/page_green.png +0 -0
- data/lib/doc/images/page_white_text.png +0 -0
- data/lib/doc/images/page_white_width.png +0 -0
- data/lib/doc/images/plugin.png +0 -0
- data/lib/doc/images/ruby.png +0 -0
- data/lib/doc/images/tag_blue.png +0 -0
- data/lib/doc/images/tag_green.png +0 -0
- data/lib/doc/images/transparent.png +0 -0
- data/lib/doc/images/wrench.png +0 -0
- data/lib/doc/images/wrench_orange.png +0 -0
- data/lib/doc/images/zoom.png +0 -0
- data/lib/doc/index.html +99 -0
- data/lib/doc/js/darkfish.js +140 -0
- data/lib/doc/js/jquery.js +4 -0
- data/lib/doc/js/navigation.js +142 -0
- data/lib/doc/js/search.js +109 -0
- data/lib/doc/js/search_index.js +1 -0
- data/lib/doc/js/searcher.js +228 -0
- data/lib/doc/rdoc.css +580 -0
- data/lib/doc/table_of_contents.html +186 -0
- data/lib/exam.rb +46 -0
- data/lib/exam/interfaz.rb +49 -0
- data/lib/exam/list.rb +111 -0
- data/lib/exam/node.rb +5 -0
- data/lib/exam/question.rb +34 -0
- data/lib/exam/simpleSelection.rb +29 -0
- data/lib/exam/verdaderoFalso.rb +21 -0
- data/lib/exam/version.rb +3 -0
- data/lib/quiz.rb +61 -0
- data/lib/quiz/answer.rb +25 -0
- data/lib/quiz/question.rb +29 -0
- data/spec/exam_spec.rb +297 -0
- data/spec/quiz_spec.rb +55 -0
- data/spec/spec_helper.rb +19 -0
- metadata +221 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
|
|
7
|
+
<title>class Interfaz - RDoc Documentation</title>
|
|
8
|
+
|
|
9
|
+
<link href="./fonts.css" rel="stylesheet">
|
|
10
|
+
<link href="./rdoc.css" rel="stylesheet">
|
|
11
|
+
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
var rdoc_rel_prefix = "./";
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<script src="./js/jquery.js"></script>
|
|
17
|
+
<script src="./js/navigation.js"></script>
|
|
18
|
+
<script src="./js/search_index.js"></script>
|
|
19
|
+
<script src="./js/search.js"></script>
|
|
20
|
+
<script src="./js/searcher.js"></script>
|
|
21
|
+
<script src="./js/darkfish.js"></script>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<body id="top" role="document" class="class">
|
|
25
|
+
<nav role="navigation">
|
|
26
|
+
<div id="project-navigation">
|
|
27
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
|
28
|
+
<h2>
|
|
29
|
+
<a href="./index.html" rel="home">Home</a>
|
|
30
|
+
</h2>
|
|
31
|
+
|
|
32
|
+
<div id="table-of-contents-navigation">
|
|
33
|
+
<a href="./table_of_contents.html#pages">Pages</a>
|
|
34
|
+
<a href="./table_of_contents.html#classes">Classes</a>
|
|
35
|
+
<a href="./table_of_contents.html#methods">Methods</a>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
|
40
|
+
<form action="#" method="get" accept-charset="utf-8">
|
|
41
|
+
<div id="search-field-wrapper">
|
|
42
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
|
43
|
+
aria-autocomplete="list" aria-controls="search-results"
|
|
44
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
|
45
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<ul id="search-results" aria-label="Search Results"
|
|
49
|
+
aria-busy="false" aria-expanded="false"
|
|
50
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
|
51
|
+
</form>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
<div id="class-metadata">
|
|
59
|
+
|
|
60
|
+
<div id="parent-class-section" class="nav-section">
|
|
61
|
+
<h3>Parent</h3>
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
<p class="link"><a href="Object.html">Object</a>
|
|
65
|
+
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
<!-- Method Quickref -->
|
|
71
|
+
<div id="method-list-section" class="nav-section">
|
|
72
|
+
<h3>Methods</h3>
|
|
73
|
+
|
|
74
|
+
<ul class="link-list" role="directory">
|
|
75
|
+
|
|
76
|
+
<li ><a href="#method-c-new">::new</a>
|
|
77
|
+
|
|
78
|
+
<li ><a href="#method-i-compararRespuestas">#compararRespuestas</a>
|
|
79
|
+
|
|
80
|
+
<li ><a href="#method-i-to_s">#to_s</a>
|
|
81
|
+
|
|
82
|
+
</ul>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
</nav>
|
|
87
|
+
|
|
88
|
+
<main role="main" aria-labelledby="class-Interfaz">
|
|
89
|
+
<h1 id="class-Interfaz" class="class">
|
|
90
|
+
class Interfaz
|
|
91
|
+
</h1>
|
|
92
|
+
|
|
93
|
+
<section class="description">
|
|
94
|
+
|
|
95
|
+
<p>Clase que permite representar un examen con sus preguntas y comprobar la
|
|
96
|
+
puntuación del mismo.</p>
|
|
97
|
+
|
|
98
|
+
</section>
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
<section class="attribute-method-details" class="method-section">
|
|
112
|
+
<header>
|
|
113
|
+
<h3>Attributes</h3>
|
|
114
|
+
</header>
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<div id="attribute-i-examen" class="method-detail">
|
|
118
|
+
<div class="method-heading attribute-method-heading">
|
|
119
|
+
<span class="method-name">examen</span><span
|
|
120
|
+
class="attribute-access-type">[R]</span>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<div class="method-description">
|
|
124
|
+
|
|
125
|
+
<p>Atributo que tendrá el examen sobre el que se realizarán las
|
|
126
|
+
comprobaciones.</p>
|
|
127
|
+
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
</section>
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
|
|
136
|
+
<header>
|
|
137
|
+
<h3>Public Class Methods</h3>
|
|
138
|
+
</header>
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
<div id="method-c-new" class="method-detail ">
|
|
142
|
+
|
|
143
|
+
<div class="method-heading">
|
|
144
|
+
<span class="method-name">new</span><span
|
|
145
|
+
class="method-args">(examen)</span>
|
|
146
|
+
|
|
147
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
148
|
+
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
<div class="method-description">
|
|
153
|
+
|
|
154
|
+
<p>Inicialización del atributo examen.</p>
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
<div class="method-source-code" id="new-source">
|
|
160
|
+
<pre><span class="ruby-comment"># File exam/interfaz.rb, line 7</span>
|
|
161
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">examen</span>)
|
|
162
|
+
<span class="ruby-ivar">@examen</span> = <span class="ruby-identifier">examen</span>
|
|
163
|
+
|
|
164
|
+
<span class="ruby-keyword">end</span></pre>
|
|
165
|
+
</div>
|
|
166
|
+
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
</section>
|
|
176
|
+
|
|
177
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
|
178
|
+
<header>
|
|
179
|
+
<h3>Public Instance Methods</h3>
|
|
180
|
+
</header>
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
<div id="method-i-compararRespuestas" class="method-detail ">
|
|
184
|
+
|
|
185
|
+
<div class="method-heading">
|
|
186
|
+
<span class="method-name">compararRespuestas</span><span
|
|
187
|
+
class="method-args">(respuestasUsuario)</span>
|
|
188
|
+
|
|
189
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
190
|
+
|
|
191
|
+
</div>
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
<div class="method-description">
|
|
195
|
+
|
|
196
|
+
<p>Método que en función de unas respuestas proporcionadas por el usuario
|
|
197
|
+
comprueba la nota obtenida en el examen y se la muestra al usuario.</p>
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
<div class="method-source-code" id="compararRespuestas-source">
|
|
203
|
+
<pre><span class="ruby-comment"># File exam/interfaz.rb, line 15</span>
|
|
204
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">compararRespuestas</span>(<span class="ruby-identifier">respuestasUsuario</span>)
|
|
205
|
+
<span class="ruby-identifier">iterador</span> =<span class="ruby-value">0</span>
|
|
206
|
+
<span class="ruby-identifier">respuestasCorrectas</span> = <span class="ruby-value">0</span>
|
|
207
|
+
|
|
208
|
+
<span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@examen</span>.<span class="ruby-identifier">preguntas</span> <span class="ruby-keyword">do</span>
|
|
209
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">respuestaCorrecta</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">respuestasUsuario</span>[<span class="ruby-identifier">iterador</span>]
|
|
210
|
+
<span class="ruby-identifier">respuestasCorrectas</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
211
|
+
<span class="ruby-keyword">end</span>
|
|
212
|
+
<span class="ruby-identifier">iterador</span> <span class="ruby-operator">+=</span><span class="ruby-value">1</span>
|
|
213
|
+
<span class="ruby-keyword">end</span>
|
|
214
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">respuestasCorrectas</span> <span class="ruby-operator"><</span> (<span class="ruby-identifier">iterador</span><span class="ruby-operator">/</span><span class="ruby-value">2</span>)<span class="ruby-operator">+</span><span class="ruby-value">1</span>
|
|
215
|
+
<span class="ruby-identifier">mensaje</span> = <span class="ruby-node">"Ha suspendido el examen: #{respuestasCorrectas}/#{iterador}"</span>
|
|
216
|
+
<span class="ruby-keyword">else</span>
|
|
217
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">respuestasCorrectas</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iterador</span>
|
|
218
|
+
<span class="ruby-identifier">mensaje</span> = <span class="ruby-string">"Su nota es: Sobresaliente 10"</span>
|
|
219
|
+
<span class="ruby-keyword">else</span>
|
|
220
|
+
<span class="ruby-identifier">mensaje</span> = <span class="ruby-node">"Ha aprobado el examen: #{respuestasCorrectas}/#{iterador}"</span>
|
|
221
|
+
<span class="ruby-keyword">end</span>
|
|
222
|
+
<span class="ruby-keyword">end</span>
|
|
223
|
+
<span class="ruby-identifier">mensaje</span>
|
|
224
|
+
<span class="ruby-keyword">end</span></pre>
|
|
225
|
+
</div>
|
|
226
|
+
|
|
227
|
+
</div>
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
</div>
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
<div id="method-i-to_s" class="method-detail ">
|
|
236
|
+
|
|
237
|
+
<div class="method-heading">
|
|
238
|
+
<span class="method-name">to_s</span><span
|
|
239
|
+
class="method-args">()</span>
|
|
240
|
+
|
|
241
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
242
|
+
|
|
243
|
+
</div>
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
<div class="method-description">
|
|
247
|
+
|
|
248
|
+
<p>Método que devuelve una cadena con las preguntas ordenadas de menor a
|
|
249
|
+
mayor.</p>
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
<div class="method-source-code" id="to_s-source">
|
|
255
|
+
<pre><span class="ruby-comment"># File exam/interfaz.rb, line 38</span>
|
|
256
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
|
|
257
|
+
<span class="ruby-identifier">cadena</span>=<span class="ruby-string">""</span>
|
|
258
|
+
<span class="ruby-identifier">preguntas</span> = <span class="ruby-ivar">@examen</span>.<span class="ruby-identifier">preguntas</span>.<span class="ruby-identifier">sort</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">p1</span>,<span class="ruby-identifier">p2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p1</span><span class="ruby-operator"><=></span><span class="ruby-identifier">p2</span>}
|
|
259
|
+
<span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">in</span> <span class="ruby-identifier">preguntas</span> <span class="ruby-keyword">do</span>
|
|
260
|
+
<span class="ruby-identifier">cadena</span> <span class="ruby-operator">+=</span><span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_s</span>
|
|
261
|
+
<span class="ruby-keyword">end</span>
|
|
262
|
+
<span class="ruby-identifier">cadena</span>
|
|
263
|
+
<span class="ruby-keyword">end</span></pre>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
</div>
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
</div>
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
</section>
|
|
275
|
+
|
|
276
|
+
</section>
|
|
277
|
+
</main>
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
<footer id="validator-badges" role="contentinfo">
|
|
281
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
282
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
|
|
283
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
284
|
+
</footer>
|
|
285
|
+
|
data/lib/doc/List.html
ADDED
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
|
|
7
|
+
<title>class List - RDoc Documentation</title>
|
|
8
|
+
|
|
9
|
+
<link href="./fonts.css" rel="stylesheet">
|
|
10
|
+
<link href="./rdoc.css" rel="stylesheet">
|
|
11
|
+
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
var rdoc_rel_prefix = "./";
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<script src="./js/jquery.js"></script>
|
|
17
|
+
<script src="./js/navigation.js"></script>
|
|
18
|
+
<script src="./js/search_index.js"></script>
|
|
19
|
+
<script src="./js/search.js"></script>
|
|
20
|
+
<script src="./js/searcher.js"></script>
|
|
21
|
+
<script src="./js/darkfish.js"></script>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<body id="top" role="document" class="class">
|
|
25
|
+
<nav role="navigation">
|
|
26
|
+
<div id="project-navigation">
|
|
27
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
|
28
|
+
<h2>
|
|
29
|
+
<a href="./index.html" rel="home">Home</a>
|
|
30
|
+
</h2>
|
|
31
|
+
|
|
32
|
+
<div id="table-of-contents-navigation">
|
|
33
|
+
<a href="./table_of_contents.html#pages">Pages</a>
|
|
34
|
+
<a href="./table_of_contents.html#classes">Classes</a>
|
|
35
|
+
<a href="./table_of_contents.html#methods">Methods</a>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
|
40
|
+
<form action="#" method="get" accept-charset="utf-8">
|
|
41
|
+
<div id="search-field-wrapper">
|
|
42
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
|
43
|
+
aria-autocomplete="list" aria-controls="search-results"
|
|
44
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
|
45
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<ul id="search-results" aria-label="Search Results"
|
|
49
|
+
aria-busy="false" aria-expanded="false"
|
|
50
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
|
51
|
+
</form>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
<div id="class-metadata">
|
|
59
|
+
|
|
60
|
+
<div id="parent-class-section" class="nav-section">
|
|
61
|
+
<h3>Parent</h3>
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
<p class="link"><a href="Object.html">Object</a>
|
|
65
|
+
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div id="includes-section" class="nav-section">
|
|
69
|
+
<h3>Included Modules</h3>
|
|
70
|
+
|
|
71
|
+
<ul class="link-list">
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
<li><span class="include">Enumerable</span>
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
</ul>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<!-- Method Quickref -->
|
|
82
|
+
<div id="method-list-section" class="nav-section">
|
|
83
|
+
<h3>Methods</h3>
|
|
84
|
+
|
|
85
|
+
<ul class="link-list" role="directory">
|
|
86
|
+
|
|
87
|
+
<li ><a href="#method-c-new">::new</a>
|
|
88
|
+
|
|
89
|
+
<li ><a href="#method-i-delete">#delete</a>
|
|
90
|
+
|
|
91
|
+
<li ><a href="#method-i-each">#each</a>
|
|
92
|
+
|
|
93
|
+
<li ><a href="#method-i-insert">#insert</a>
|
|
94
|
+
|
|
95
|
+
<li ><a href="#method-i-insertElements">#insertElements</a>
|
|
96
|
+
|
|
97
|
+
<li ><a href="#method-i-pullHead">#pullHead</a>
|
|
98
|
+
|
|
99
|
+
</ul>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
</div>
|
|
103
|
+
</nav>
|
|
104
|
+
|
|
105
|
+
<main role="main" aria-labelledby="class-List">
|
|
106
|
+
<h1 id="class-List" class="class">
|
|
107
|
+
class List
|
|
108
|
+
</h1>
|
|
109
|
+
|
|
110
|
+
<section class="description">
|
|
111
|
+
|
|
112
|
+
<p>Clase que permite crear un listado de nodos. Se ha incluido el Mixin
|
|
113
|
+
Enumerable.</p>
|
|
114
|
+
|
|
115
|
+
</section>
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
<section class="attribute-method-details" class="method-section">
|
|
129
|
+
<header>
|
|
130
|
+
<h3>Attributes</h3>
|
|
131
|
+
</header>
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
<div id="attribute-i-cabeza" class="method-detail">
|
|
135
|
+
<div class="method-heading attribute-method-heading">
|
|
136
|
+
<span class="method-name">cabeza</span><span
|
|
137
|
+
class="attribute-access-type">[R]</span>
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
<div class="method-description">
|
|
141
|
+
|
|
142
|
+
<p>Atributos cola y cabeza que permitirán la identificación del principio y
|
|
143
|
+
fin de la lista.</p>
|
|
144
|
+
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
|
|
148
|
+
<div id="attribute-i-cola" class="method-detail">
|
|
149
|
+
<div class="method-heading attribute-method-heading">
|
|
150
|
+
<span class="method-name">cola</span><span
|
|
151
|
+
class="attribute-access-type">[R]</span>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<div class="method-description">
|
|
155
|
+
|
|
156
|
+
<p>Atributos cola y cabeza que permitirán la identificación del principio y
|
|
157
|
+
fin de la lista.</p>
|
|
158
|
+
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
</section>
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
|
|
167
|
+
<header>
|
|
168
|
+
<h3>Public Class Methods</h3>
|
|
169
|
+
</header>
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
<div id="method-c-new" class="method-detail ">
|
|
173
|
+
|
|
174
|
+
<div class="method-heading">
|
|
175
|
+
<span class="method-name">new</span><span
|
|
176
|
+
class="method-args">(nodoCabeza)</span>
|
|
177
|
+
|
|
178
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
179
|
+
|
|
180
|
+
</div>
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
<div class="method-description">
|
|
184
|
+
|
|
185
|
+
<p>Inicialización de variables cabeza y cola.</p>
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
<div class="method-source-code" id="new-source">
|
|
191
|
+
<pre><span class="ruby-comment"># File exam/list.rb, line 19</span>
|
|
192
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">nodoCabeza</span>)
|
|
193
|
+
<span class="ruby-ivar">@cabeza</span> = <span class="ruby-identifier">nodoCabeza</span>
|
|
194
|
+
<span class="ruby-ivar">@cola</span> = <span class="ruby-ivar">@cabeza</span>.<span class="ruby-identifier">next</span>
|
|
195
|
+
<span class="ruby-keyword">end</span></pre>
|
|
196
|
+
</div>
|
|
197
|
+
|
|
198
|
+
</div>
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
</div>
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
</section>
|
|
207
|
+
|
|
208
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
|
209
|
+
<header>
|
|
210
|
+
<h3>Public Instance Methods</h3>
|
|
211
|
+
</header>
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
<div id="method-i-delete" class="method-detail ">
|
|
215
|
+
|
|
216
|
+
<div class="method-heading">
|
|
217
|
+
<span class="method-name">delete</span><span
|
|
218
|
+
class="method-args">(nodo)</span>
|
|
219
|
+
|
|
220
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
221
|
+
|
|
222
|
+
</div>
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
<div class="method-description">
|
|
226
|
+
|
|
227
|
+
<p>Método que permite eliminar un nodo de lista independientemente de su
|
|
228
|
+
posición en ella.</p>
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
<div class="method-source-code" id="delete-source">
|
|
234
|
+
<pre><span class="ruby-comment"># File exam/list.rb, line 69</span>
|
|
235
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">nodo</span>)
|
|
236
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">nodo</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@cola</span>
|
|
237
|
+
<span class="ruby-identifier">contenido</span> = <span class="ruby-ivar">@cola</span>.<span class="ruby-identifier">value</span>
|
|
238
|
+
<span class="ruby-ivar">@cola</span> = <span class="ruby-identifier">nodo</span>.<span class="ruby-identifier">anterior</span>
|
|
239
|
+
<span class="ruby-ivar">@cola</span>.<span class="ruby-identifier">next</span> = <span class="ruby-keyword">nil</span>
|
|
240
|
+
|
|
241
|
+
<span class="ruby-keyword">else</span>
|
|
242
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">nodo</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@cabeza</span>
|
|
243
|
+
|
|
244
|
+
<span class="ruby-identifier">pullHead</span>(<span class="ruby-identifier">nodo</span>)
|
|
245
|
+
|
|
246
|
+
<span class="ruby-keyword">else</span>
|
|
247
|
+
<span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@cabeza</span>
|
|
248
|
+
<span class="ruby-keyword">while</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">nodo</span>
|
|
249
|
+
<span class="ruby-identifier">actual</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">next</span>
|
|
250
|
+
<span class="ruby-keyword">end</span>
|
|
251
|
+
<span class="ruby-identifier">anterior</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">anterior</span>
|
|
252
|
+
<span class="ruby-identifier">siguiente</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">next</span>
|
|
253
|
+
<span class="ruby-identifier">anterior</span>.<span class="ruby-identifier">next</span> = <span class="ruby-identifier">siguiente</span>
|
|
254
|
+
<span class="ruby-identifier">siguiente</span>.<span class="ruby-identifier">anterior</span> = <span class="ruby-identifier">anterior</span>
|
|
255
|
+
<span class="ruby-identifier">contenido</span> = <span class="ruby-identifier">siguiente</span>.<span class="ruby-identifier">value</span>
|
|
256
|
+
<span class="ruby-keyword">end</span>
|
|
257
|
+
|
|
258
|
+
<span class="ruby-keyword">end</span>
|
|
259
|
+
<span class="ruby-identifier">contenido</span>
|
|
260
|
+
<span class="ruby-keyword">end</span></pre>
|
|
261
|
+
</div>
|
|
262
|
+
|
|
263
|
+
</div>
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
</div>
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
<div id="method-i-each" class="method-detail ">
|
|
272
|
+
|
|
273
|
+
<div class="method-heading">
|
|
274
|
+
<span class="method-name">each</span><span
|
|
275
|
+
class="method-args">() { |value| ... }</span>
|
|
276
|
+
|
|
277
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
278
|
+
|
|
279
|
+
</div>
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
<div class="method-description">
|
|
283
|
+
|
|
284
|
+
<p>Método implementado al incluir el Mixin Enumerable y con el cual devolvemos
|
|
285
|
+
el valor de cada nodo de la lista</p>
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
<div class="method-source-code" id="each-source">
|
|
291
|
+
<pre><span class="ruby-comment"># File exam/list.rb, line 100</span>
|
|
292
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">each</span>
|
|
293
|
+
<span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@cabeza</span>
|
|
294
|
+
<span class="ruby-keyword">while</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
295
|
+
<span class="ruby-keyword">yield</span> <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">value</span>
|
|
296
|
+
<span class="ruby-identifier">actual</span> = <span class="ruby-identifier">actual</span>.<span class="ruby-identifier">next</span>
|
|
297
|
+
<span class="ruby-keyword">end</span>
|
|
298
|
+
|
|
299
|
+
<span class="ruby-keyword">end</span></pre>
|
|
300
|
+
</div>
|
|
301
|
+
|
|
302
|
+
</div>
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
</div>
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
<div id="method-i-insert" class="method-detail ">
|
|
311
|
+
|
|
312
|
+
<div class="method-heading">
|
|
313
|
+
<span class="method-name">insert</span><span
|
|
314
|
+
class="method-args">(node)</span>
|
|
315
|
+
|
|
316
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
317
|
+
|
|
318
|
+
</div>
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
<div class="method-description">
|
|
322
|
+
|
|
323
|
+
<p>Método que permite insertar un nodo en la lista</p>
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
<div class="method-source-code" id="insert-source">
|
|
329
|
+
<pre><span class="ruby-comment"># File exam/list.rb, line 34</span>
|
|
330
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">insert</span>(<span class="ruby-identifier">node</span>)
|
|
331
|
+
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@cola</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
|
|
332
|
+
<span class="ruby-identifier">node</span>.<span class="ruby-identifier">anterior</span> = <span class="ruby-ivar">@cabeza</span>
|
|
333
|
+
<span class="ruby-ivar">@cola</span> = <span class="ruby-identifier">node</span>
|
|
334
|
+
<span class="ruby-ivar">@cabeza</span>.<span class="ruby-identifier">next</span> = <span class="ruby-ivar">@cola</span>
|
|
335
|
+
|
|
336
|
+
<span class="ruby-keyword">else</span>
|
|
337
|
+
<span class="ruby-ivar">@cola</span>.<span class="ruby-identifier">next</span> = <span class="ruby-identifier">node</span>
|
|
338
|
+
<span class="ruby-ivar">@cola</span>.<span class="ruby-identifier">next</span>.<span class="ruby-identifier">anterior</span> = <span class="ruby-ivar">@cola</span>
|
|
339
|
+
<span class="ruby-ivar">@cola</span> = <span class="ruby-ivar">@cola</span>.<span class="ruby-identifier">next</span>
|
|
340
|
+
<span class="ruby-keyword">end</span>
|
|
341
|
+
|
|
342
|
+
<span class="ruby-ivar">@cola</span>
|
|
343
|
+
<span class="ruby-keyword">end</span></pre>
|
|
344
|
+
</div>
|
|
345
|
+
|
|
346
|
+
</div>
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
</div>
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
<div id="method-i-insertElements" class="method-detail ">
|
|
355
|
+
|
|
356
|
+
<div class="method-heading">
|
|
357
|
+
<span class="method-name">insertElements</span><span
|
|
358
|
+
class="method-args">(arrayNodos)</span>
|
|
359
|
+
|
|
360
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
361
|
+
|
|
362
|
+
</div>
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
<div class="method-description">
|
|
366
|
+
|
|
367
|
+
<p>Método que recibe un conjunto de nodos y los inserta en la lista.</p>
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
<div class="method-source-code" id="insertElements-source">
|
|
373
|
+
<pre><span class="ruby-comment"># File exam/list.rb, line 49</span>
|
|
374
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">insertElements</span>(<span class="ruby-identifier">arrayNodos</span>)
|
|
375
|
+
<span class="ruby-identifier">i</span>=<span class="ruby-value">0</span>
|
|
376
|
+
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@cola</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
|
|
377
|
+
<span class="ruby-identifier">arrayNodos</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">anterior</span> = <span class="ruby-ivar">@cabeza</span>
|
|
378
|
+
<span class="ruby-ivar">@cola</span> = <span class="ruby-identifier">arrayNodos</span>[<span class="ruby-value">0</span>]
|
|
379
|
+
<span class="ruby-ivar">@cabeza</span>.<span class="ruby-identifier">next</span> = <span class="ruby-ivar">@cola</span>
|
|
380
|
+
<span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
381
|
+
<span class="ruby-keyword">end</span>
|
|
382
|
+
<span class="ruby-keyword">while</span> <span class="ruby-identifier">i</span><span class="ruby-operator"><</span><span class="ruby-identifier">arrayNodos</span>.<span class="ruby-identifier">length</span>
|
|
383
|
+
<span class="ruby-identifier">arrayNodos</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">anterior</span> = <span class="ruby-ivar">@cola</span>
|
|
384
|
+
<span class="ruby-ivar">@cola</span>.<span class="ruby-identifier">next</span> = <span class="ruby-identifier">arrayNodos</span>[<span class="ruby-identifier">i</span>]
|
|
385
|
+
<span class="ruby-ivar">@cola</span> = <span class="ruby-ivar">@cola</span>.<span class="ruby-identifier">next</span>
|
|
386
|
+
|
|
387
|
+
<span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span><span class="ruby-value">1</span>
|
|
388
|
+
<span class="ruby-keyword">end</span>
|
|
389
|
+
|
|
390
|
+
<span class="ruby-ivar">@cola</span> <span class="ruby-comment">#Se devuelve el ultimo nodo insertado</span>
|
|
391
|
+
|
|
392
|
+
<span class="ruby-keyword">end</span></pre>
|
|
393
|
+
</div>
|
|
394
|
+
|
|
395
|
+
</div>
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<div id="method-i-pullHead" class="method-detail ">
|
|
404
|
+
|
|
405
|
+
<div class="method-heading">
|
|
406
|
+
<span class="method-name">pullHead</span><span
|
|
407
|
+
class="method-args">()</span>
|
|
408
|
+
|
|
409
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
410
|
+
|
|
411
|
+
</div>
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
<div class="method-description">
|
|
415
|
+
|
|
416
|
+
<p>Método que permite extraer la cabeza de la lista</p>
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
<div class="method-source-code" id="pullHead-source">
|
|
422
|
+
<pre><span class="ruby-comment"># File exam/list.rb, line 24</span>
|
|
423
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">pullHead</span>
|
|
424
|
+
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@cabeza</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
425
|
+
|
|
426
|
+
<span class="ruby-identifier">contenido</span> = <span class="ruby-ivar">@cabeza</span>.<span class="ruby-identifier">value</span>
|
|
427
|
+
<span class="ruby-ivar">@cabeza</span> = <span class="ruby-ivar">@cabeza</span>.<span class="ruby-identifier">next</span>
|
|
428
|
+
<span class="ruby-keyword">end</span>
|
|
429
|
+
<span class="ruby-identifier">contenido</span>
|
|
430
|
+
|
|
431
|
+
<span class="ruby-keyword">end</span></pre>
|
|
432
|
+
</div>
|
|
433
|
+
|
|
434
|
+
</div>
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
</div>
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
</section>
|
|
443
|
+
|
|
444
|
+
</section>
|
|
445
|
+
</main>
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
<footer id="validator-badges" role="contentinfo">
|
|
449
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
450
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
|
|
451
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
452
|
+
</footer>
|
|
453
|
+
|