cartesian 0.6.0 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/History.txt +6 -0
  2. data/Manifest.txt +13 -35
  3. data/Rakefile +19 -3
  4. data/{lib → etc}/recursive.rb +0 -0
  5. data/index.html +7 -0
  6. data/lib/cartesian.rb +1 -1
  7. data/script/txt2html +4 -2
  8. data/website/doc/Array.html +172 -0
  9. data/website/doc/Cartesian.html +638 -0
  10. data/website/doc/CartesianIterator.html +672 -0
  11. data/website/doc/Enumerable.html +158 -0
  12. data/website/doc/GridSearch.html +292 -0
  13. data/website/doc/Iterable.html +306 -0
  14. data/website/doc/README_rdoc.html +220 -0
  15. data/website/doc/created.rid +4 -4
  16. data/website/doc/lib/cartesian_iterator_rb.html +52 -0
  17. data/website/doc/lib/cartesian_rb.html +56 -0
  18. data/website/doc/lib/grid_search_rb.html +52 -0
  19. data/website/doc/rdoc.css +706 -0
  20. data/website/index.html +3 -3
  21. data/website/template.html.erb +1 -1
  22. metadata +15 -37
  23. data/website/doc/classes/Array.html +0 -128
  24. data/website/doc/classes/Cartesian.html +0 -398
  25. data/website/doc/classes/Cartesian.src/M000020.html +0 -18
  26. data/website/doc/classes/Cartesian.src/M000021.html +0 -18
  27. data/website/doc/classes/Cartesian.src/M000022.html +0 -18
  28. data/website/doc/classes/Cartesian.src/M000023.html +0 -23
  29. data/website/doc/classes/Cartesian.src/M000026.html +0 -23
  30. data/website/doc/classes/Cartesian.src/M000027.html +0 -30
  31. data/website/doc/classes/CartesianIterator.html +0 -326
  32. data/website/doc/classes/CartesianIterator.src/M000001.html +0 -21
  33. data/website/doc/classes/CartesianIterator.src/M000002.html +0 -18
  34. data/website/doc/classes/CartesianIterator.src/M000003.html +0 -21
  35. data/website/doc/classes/CartesianIterator.src/M000005.html +0 -20
  36. data/website/doc/classes/CartesianIterator.src/M000008.html +0 -20
  37. data/website/doc/classes/CartesianIterator.src/M000009.html +0 -19
  38. data/website/doc/classes/CartesianIterator.src/M000012.html +0 -19
  39. data/website/doc/classes/CartesianIterator.src/M000013.html +0 -39
  40. data/website/doc/classes/Enumerable.html +0 -112
  41. data/website/doc/classes/GridSearch.html +0 -160
  42. data/website/doc/classes/GridSearch.src/M000014.html +0 -18
  43. data/website/doc/classes/GridSearch.src/M000015.html +0 -18
  44. data/website/doc/classes/Iterable.html +0 -176
  45. data/website/doc/classes/Iterable.src/M000016.html +0 -19
  46. data/website/doc/classes/Iterable.src/M000017.html +0 -19
  47. data/website/doc/classes/Iterable.src/M000018.html +0 -18
  48. data/website/doc/classes/Iterable.src/M000019.html +0 -18
  49. data/website/doc/classes/Range.html +0 -118
  50. data/website/doc/files/cartesian_iterator_rb.html +0 -101
  51. data/website/doc/files/cartesian_rb.html +0 -108
  52. data/website/doc/files/grid_search_rb.html +0 -101
  53. data/website/doc/fr_class_index.html +0 -33
  54. data/website/doc/fr_file_index.html +0 -29
  55. data/website/doc/fr_method_index.html +0 -54
  56. data/website/doc/rdoc-style.css +0 -208
@@ -31,9 +31,9 @@
31
31
  <div id="main">
32
32
 
33
33
  <h1></h1>
34
- <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/cartesian"; return false'>
34
+ <div id="version" class="clickable" onclick='document.location = "http://github.com/adrianomitre/cartesian"; return false'>
35
35
  <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/cartesian" class="numbers">0.6.0</a>
36
+ <a href="http://github.com/adrianomitre/cartesian" class="numbers">0.6.2</a>
37
37
  </div>
38
38
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script><h1>cartesian</h1>
39
39
  <h3>Cartesian products in Ruby</h3>
@@ -104,7 +104,7 @@ rake install_gem</pre>
104
104
  </form>
105
105
  </div>
106
106
  <p class="coda">
107
- <a href="adriano.mitre@gmail.com">Adriano Mitre</a>, 7th January 2011<br>
107
+ <a href="http://github.com/adrianomitre">Adriano Mitre</a>, 7th January 2011<br>
108
108
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
109
109
  </p>
110
110
  </div>
@@ -37,7 +37,7 @@
37
37
  </div>
38
38
  <%= body %>
39
39
  <p class="coda">
40
- <a href="adriano.mitre@gmail.com">Adriano Mitre</a>, <%= modified.pretty %><br>
40
+ <a href="http://github.com/adrianomitre">Adriano Mitre</a>, <%= modified.pretty %><br>
41
41
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
42
42
  </p>
43
43
  </div>
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 6
8
- - 0
9
- version: 0.6.0
8
+ - 2
9
+ version: 0.6.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Adriano Mitre
@@ -57,12 +57,13 @@ files:
57
57
  - Wishlist.txt
58
58
  - config/hoe.rb
59
59
  - config/requirements.rb
60
+ - etc/recursive.rb
61
+ - index.html
60
62
  - lib/cartesian.rb
61
63
  - lib/cartesian/grid_search.rb
62
64
  - lib/cartesian/version.rb
63
65
  - lib/cartesian_iterator.rb
64
66
  - lib/grid_search.rb
65
- - lib/recursive.rb
66
67
  - script/console
67
68
  - script/destroy
68
69
  - script/generate
@@ -75,42 +76,19 @@ files:
75
76
  - test/test_grid_search.rb
76
77
  - test/test_helper.rb
77
78
  - test/test_suite.rb
78
- - website/doc/classes/Array.html
79
- - website/doc/classes/Cartesian.html
80
- - website/doc/classes/Cartesian.src/M000020.html
81
- - website/doc/classes/Cartesian.src/M000021.html
82
- - website/doc/classes/Cartesian.src/M000022.html
83
- - website/doc/classes/Cartesian.src/M000023.html
84
- - website/doc/classes/Cartesian.src/M000026.html
85
- - website/doc/classes/Cartesian.src/M000027.html
86
- - website/doc/classes/CartesianIterator.html
87
- - website/doc/classes/CartesianIterator.src/M000001.html
88
- - website/doc/classes/CartesianIterator.src/M000002.html
89
- - website/doc/classes/CartesianIterator.src/M000003.html
90
- - website/doc/classes/CartesianIterator.src/M000005.html
91
- - website/doc/classes/CartesianIterator.src/M000008.html
92
- - website/doc/classes/CartesianIterator.src/M000009.html
93
- - website/doc/classes/CartesianIterator.src/M000012.html
94
- - website/doc/classes/CartesianIterator.src/M000013.html
95
- - website/doc/classes/Enumerable.html
96
- - website/doc/classes/GridSearch.html
97
- - website/doc/classes/GridSearch.src/M000014.html
98
- - website/doc/classes/GridSearch.src/M000015.html
99
- - website/doc/classes/Iterable.html
100
- - website/doc/classes/Iterable.src/M000016.html
101
- - website/doc/classes/Iterable.src/M000017.html
102
- - website/doc/classes/Iterable.src/M000018.html
103
- - website/doc/classes/Iterable.src/M000019.html
104
- - website/doc/classes/Range.html
79
+ - website/doc/Array.html
80
+ - website/doc/Cartesian.html
81
+ - website/doc/CartesianIterator.html
82
+ - website/doc/Enumerable.html
83
+ - website/doc/GridSearch.html
84
+ - website/doc/Iterable.html
85
+ - website/doc/README_rdoc.html
105
86
  - website/doc/created.rid
106
- - website/doc/files/cartesian_iterator_rb.html
107
- - website/doc/files/cartesian_rb.html
108
- - website/doc/files/grid_search_rb.html
109
- - website/doc/fr_class_index.html
110
- - website/doc/fr_file_index.html
111
- - website/doc/fr_method_index.html
112
87
  - website/doc/index.html
113
- - website/doc/rdoc-style.css
88
+ - website/doc/lib/cartesian_iterator_rb.html
89
+ - website/doc/lib/cartesian_rb.html
90
+ - website/doc/lib/grid_search_rb.html
91
+ - website/doc/rdoc.css
114
92
  - website/index.html
115
93
  - website/index.txt
116
94
  - website/javascripts/rounded_corners_lite.inc.js
@@ -1,128 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Array</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Array</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/cartesian_rb.html">
59
- cartesian.rb
60
- </a>
61
- <br />
62
- <a href="../files/cartesian_iterator_rb.html">
63
- cartesian_iterator.rb
64
- </a>
65
- <br />
66
- <a href="../files/grid_search_rb.html">
67
- grid_search.rb
68
- </a>
69
- <br />
70
- </td>
71
- </tr>
72
-
73
- <tr class="top-aligned-row">
74
- <td><strong>Parent:</strong></td>
75
- <td>
76
- Object
77
- </td>
78
- </tr>
79
- </table>
80
- </div>
81
- <!-- banner header -->
82
-
83
- <div id="bodyContent">
84
-
85
-
86
-
87
- <div id="contextContent">
88
-
89
-
90
-
91
- </div>
92
-
93
-
94
- </div>
95
-
96
-
97
- <!-- if includes -->
98
- <div id="includes">
99
- <h3 class="section-bar">Included Modules</h3>
100
-
101
- <div id="includes-list">
102
- <span class="include-name"><a href="Cartesian.html">Cartesian</a></span>
103
- <span class="include-name"><a href="Iterable.html">Iterable</a></span>
104
- <span class="include-name"><a href="GridSearch.html">GridSearch</a></span>
105
- </div>
106
- </div>
107
-
108
- <div id="section">
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
- <!-- if method_list -->
118
-
119
-
120
- </div>
121
-
122
-
123
- <div id="validator-badges">
124
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
125
- </div>
126
-
127
- </body>
128
- </html>
@@ -1,398 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Cartesian</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Cartesian</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/cartesian_rb.html">
59
- cartesian.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- </table>
66
- </div>
67
- <!-- banner header -->
68
-
69
- <div id="bodyContent">
70
-
71
-
72
-
73
- <div id="contextContent">
74
-
75
- <div id="description">
76
- <p>
77
- The <a href="Cartesian.html">Cartesian</a> module provide methods for the
78
- calculation of the <a href="Cartesian.html#M000024">cartesian</a> producted
79
- between two enumerable objects.
80
- </p>
81
- <p>
82
- It can also be easily mixed in into any enumerable class, i.e. any class
83
- with <a href="Enumerable.html">Enumerable</a> module mixed in. Notice that
84
- the names of the methods for mixin are different.
85
- </p>
86
- <p>
87
- Module:
88
- </p>
89
- <pre>
90
- Cartesian::product(foo, bar)
91
- </pre>
92
- <p>
93
- Mixin:
94
- </p>
95
- <pre>
96
- foo.cartesian( bar )
97
- </pre>
98
- <p>
99
- The module is automatically mixed in <a href="Array.html">Array</a> class.
100
- </p>
101
- <h2>Author</h2>
102
- <p>
103
- Adriano MITRE &lt;adriano.mitre@gmail.com&gt;
104
- </p>
105
- <h2>Example</h2>
106
- <p>
107
- as module
108
- </p>
109
- <pre>
110
- require 'cartesian'
111
- foo = [1, 2]
112
- bar = [&quot;a&quot;, &quot;b&quot;]
113
- Cartesian::product(foo, bar) #=&gt; [[1, &quot;a&quot;], [1, &quot;b&quot;], [2, &quot;a&quot;], [2, &quot;b&quot;]]
114
- </pre>
115
- <p>
116
- as mixin
117
- </p>
118
- <pre>
119
- require 'cartesian'
120
- foo = [1, 2]
121
- bar = [&quot;a&quot;, &quot;b&quot;]
122
- foo.cartesian(bar) #=&gt; [[1, &quot;a&quot;], [1, &quot;b&quot;], [2, &quot;a&quot;], [2, &quot;b&quot;]]
123
- </pre>
124
-
125
- </div>
126
-
127
-
128
- </div>
129
-
130
- <div id="method-list">
131
- <h3 class="section-bar">Methods</h3>
132
-
133
- <div class="name-list">
134
- <a href="#M000027">**</a>&nbsp;&nbsp;
135
- <a href="#M000024">cartesian</a>&nbsp;&nbsp;
136
- <a href="#M000022">joined_cartesian</a>&nbsp;&nbsp;
137
- <a href="#M000021">joined_product</a>&nbsp;&nbsp;
138
- <a href="#M000026">left_product</a>&nbsp;&nbsp;
139
- <a href="#M000028">power!</a>&nbsp;&nbsp;
140
- <a href="#M000020">product</a>&nbsp;&nbsp;
141
- <a href="#M000025">right_product</a>&nbsp;&nbsp;
142
- <a href="#M000023">x</a>&nbsp;&nbsp;
143
- </div>
144
- </div>
145
-
146
- </div>
147
-
148
-
149
- <!-- if includes -->
150
-
151
- <div id="section">
152
-
153
-
154
- <div id="constants-list">
155
- <h3 class="section-bar">Constants</h3>
156
-
157
- <div class="name-list">
158
- <table summary="Constants">
159
- <tr class="top-aligned-row context-row">
160
- <td class="context-item-name">VERSION</td>
161
- <td>=</td>
162
- <td class="context-item-value">'0.5.0'</td>
163
- </tr>
164
- </table>
165
- </div>
166
- </div>
167
-
168
-
169
-
170
-
171
-
172
-
173
- <!-- if method_list -->
174
- <div id="methods">
175
- <h3 class="section-bar">Public Class methods</h3>
176
-
177
- <div id="method-M000021" class="method-detail">
178
- <a name="M000021"></a>
179
-
180
- <div class="method-heading">
181
- <a href="Cartesian.src/M000021.html" target="Code" class="method-signature"
182
- onclick="popupCode('Cartesian.src/M000021.html');return false;">
183
- <span class="method-name">joined_product</span><span class="method-args">(first, second)</span>
184
- </a>
185
- </div>
186
-
187
- <div class="method-description">
188
- <p>
189
- Behaves as <a href="Cartesian.html#M000020">product</a>, except for the
190
- elements are joined.
191
- </p>
192
- <pre>
193
- Cartesian::joined_cartesian( [1,2], %w(A B) ) #=&gt; [&quot;1A&quot;, &quot;1B&quot;, &quot;2A&quot;, &quot;2B&quot;]
194
- </pre>
195
- <p>
196
- or, if mixed in into <a href="Array.html">Array</a>,
197
- </p>
198
- <pre>
199
- [1,2].joined_cartesian %w(A B) #=&gt; [&quot;1A&quot;, &quot;1B&quot;, &quot;2A&quot;, &quot;2B&quot;]
200
- </pre>
201
- </div>
202
- </div>
203
-
204
- <div id="method-M000020" class="method-detail">
205
- <a name="M000020"></a>
206
-
207
- <div class="method-heading">
208
- <a href="Cartesian.src/M000020.html" target="Code" class="method-signature"
209
- onclick="popupCode('Cartesian.src/M000020.html');return false;">
210
- <span class="method-name">product</span><span class="method-args">(first, second)</span>
211
- </a>
212
- </div>
213
-
214
- <div class="method-description">
215
- <p>
216
- Produces the <a href="Cartesian.html#M000024">cartesian</a> <a
217
- href="Cartesian.html#M000020">product</a> of self and other. The result is
218
- an array of pairs (i.e. two-element arrays).
219
- </p>
220
- <pre>
221
- Cartesian::product( [1,2], %w(A B) ) #=&gt; [[1, &quot;A&quot;], [1, &quot;B&quot;], [2, &quot;A&quot;], [2, &quot;B&quot;]]
222
- </pre>
223
- <p>
224
- or, if mixed in into <a href="Array.html">Array</a>,
225
- </p>
226
- <pre>
227
- [1,2].cartesian %w(A B) #=&gt; [[1, &quot;A&quot;], [1, &quot;B&quot;], [2, &quot;A&quot;], [2, &quot;B&quot;]]
228
- </pre>
229
- </div>
230
- </div>
231
-
232
- <h3 class="section-bar">Public Instance methods</h3>
233
-
234
- <div id="method-M000027" class="method-detail">
235
- <a name="M000027"></a>
236
-
237
- <div class="method-heading">
238
- <a href="Cartesian.src/M000027.html" target="Code" class="method-signature"
239
- onclick="popupCode('Cartesian.src/M000027.html');return false;">
240
- <span class="method-name">**</span><span class="method-args">(fixnum)</span>
241
- </a>
242
- </div>
243
-
244
- <div class="method-description">
245
- <p>
246
- Concise way of iterating multi-dimensionally over the same array or range.
247
- </p>
248
- <p>
249
- For instance,
250
- </p>
251
- <pre>
252
- for x,y,z in [0,1]**3
253
- puts [x, y, z].join(',')
254
- end
255
- </pre>
256
- <p>
257
- produces the following output
258
- </p>
259
- <pre>
260
- 0,0,0
261
- 0,0,1
262
- 0,1,0
263
- 0,1,1
264
- 1,0,0
265
- 1,0,1
266
- 1,1,0
267
- 1,1,1
268
- </pre>
269
- <p>
270
- It also works with <a href="Range.html">Range</a> objects.
271
- </p>
272
- </div>
273
- </div>
274
-
275
- <div id="method-M000024" class="method-detail">
276
- <a name="M000024"></a>
277
-
278
- <div class="method-heading">
279
- <span class="method-name">cartesian</span><span class="method-args">(other)</span>
280
- </div>
281
-
282
- <div class="method-description">
283
- <p>
284
- Alias for <a href="Cartesian.html#M000023">x</a>
285
- </p>
286
- </div>
287
- </div>
288
-
289
- <div id="method-M000022" class="method-detail">
290
- <a name="M000022"></a>
291
-
292
- <div class="method-heading">
293
- <a href="Cartesian.src/M000022.html" target="Code" class="method-signature"
294
- onclick="popupCode('Cartesian.src/M000022.html');return false;">
295
- <span class="method-name">joined_cartesian</span><span class="method-args">(other)</span>
296
- </a>
297
- </div>
298
-
299
- <div class="method-description">
300
- <p>
301
- <a href="Cartesian.html#M000021">Cartesian.joined_product</a> for mixin.
302
- </p>
303
- </div>
304
- </div>
305
-
306
- <div id="method-M000026" class="method-detail">
307
- <a name="M000026"></a>
308
-
309
- <div class="method-heading">
310
- <a href="Cartesian.src/M000026.html" target="Code" class="method-signature"
311
- onclick="popupCode('Cartesian.src/M000026.html');return false;">
312
- <span class="method-name">left_product</span><span class="method-args">(other)</span>
313
- </a>
314
- </div>
315
-
316
- <div class="method-description">
317
- </div>
318
- </div>
319
-
320
- <div id="method-M000028" class="method-detail">
321
- <a name="M000028"></a>
322
-
323
- <div class="method-heading">
324
- <span class="method-name">power!</span><span class="method-args">(fixnum)</span>
325
- </div>
326
-
327
- <div class="method-description">
328
- <p>
329
- Alias for #**
330
- </p>
331
- </div>
332
- </div>
333
-
334
- <div id="method-M000025" class="method-detail">
335
- <a name="M000025"></a>
336
-
337
- <div class="method-heading">
338
- <span class="method-name">right_product</span><span class="method-args">(other)</span>
339
- </div>
340
-
341
- <div class="method-description">
342
- <p>
343
- Alias for <a href="Cartesian.html#M000023">x</a>
344
- </p>
345
- </div>
346
- </div>
347
-
348
- <div id="method-M000023" class="method-detail">
349
- <a name="M000023"></a>
350
-
351
- <div class="method-heading">
352
- <a href="Cartesian.src/M000023.html" target="Code" class="method-signature"
353
- onclick="popupCode('Cartesian.src/M000023.html');return false;">
354
- <span class="method-name">x</span><span class="method-args">(other)</span>
355
- </a>
356
- </div>
357
-
358
- <div class="method-description">
359
- <p>
360
- Convenient way of iterating over the elements. Preferable when the <a
361
- href="Cartesian.html#M000024">cartesian</a> <a
362
- href="Cartesian.html#M000020">product</a> array is not needed, for the
363
- consumption of memory is fixed and very small, in contrast with the
364
- exponential memory requirements of the conventional approach.
365
- </p>
366
- <pre>
367
- for row, col in (1..10).x(1..30)
368
- Matrix[row, col] = row**2 + col**3
369
- end
370
- </pre>
371
- <p>
372
- Of course, calls can be chained as in
373
- </p>
374
- <pre>
375
- for x, y, z in (1..10).x(1..10).x(1..10)
376
- # ... do something ...
377
- end
378
- </pre>
379
- <p>
380
- Beware that both <tt>self</tt> and <tt>other</tt> must implement
381
- <tt>to_a</tt>, i.e., be convertible to array.
382
- </p>
383
- </div>
384
- </div>
385
-
386
-
387
- </div>
388
-
389
-
390
- </div>
391
-
392
-
393
- <div id="validator-badges">
394
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
395
- </div>
396
-
397
- </body>
398
- </html>