metric_tools 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/.gitignore +2 -0
  2. data/.rspec +1 -0
  3. data/.rvmrc +1 -0
  4. data/config/pref.rb +11 -16
  5. data/doc/Gemfile.html +107 -0
  6. data/doc/MetricTools/IndexTree.html +308 -0
  7. data/doc/MetricTools/S3.html +325 -0
  8. data/doc/MetricTools/Skype.html +343 -0
  9. data/doc/MetricTools/SpreadSheet.html +552 -0
  10. data/doc/MetricTools/Table.html +952 -0
  11. data/doc/MetricTools.html +158 -0
  12. data/doc/Object.html +179 -0
  13. data/doc/Pref/GoogleDocs.html +176 -0
  14. data/doc/Pref/S3.html +181 -0
  15. data/doc/Pref/Skype.html +156 -0
  16. data/doc/Pref.html +141 -0
  17. data/doc/created.rid +15 -0
  18. data/doc/images/add.png +0 -0
  19. data/doc/images/brick.png +0 -0
  20. data/doc/images/brick_link.png +0 -0
  21. data/doc/images/bug.png +0 -0
  22. data/doc/images/bullet_black.png +0 -0
  23. data/doc/images/bullet_toggle_minus.png +0 -0
  24. data/doc/images/bullet_toggle_plus.png +0 -0
  25. data/doc/images/date.png +0 -0
  26. data/doc/images/delete.png +0 -0
  27. data/doc/images/find.png +0 -0
  28. data/doc/images/loadingAnimation.gif +0 -0
  29. data/doc/images/macFFBgHack.png +0 -0
  30. data/doc/images/package.png +0 -0
  31. data/doc/images/page_green.png +0 -0
  32. data/doc/images/page_white_text.png +0 -0
  33. data/doc/images/page_white_width.png +0 -0
  34. data/doc/images/plugin.png +0 -0
  35. data/doc/images/ruby.png +0 -0
  36. data/doc/images/tag_blue.png +0 -0
  37. data/doc/images/tag_green.png +0 -0
  38. data/doc/images/transparent.png +0 -0
  39. data/doc/images/wrench.png +0 -0
  40. data/doc/images/wrench_orange.png +0 -0
  41. data/doc/images/zoom.png +0 -0
  42. data/doc/index.html +100 -0
  43. data/doc/js/darkfish.js +153 -0
  44. data/doc/js/jquery.js +18 -0
  45. data/doc/js/navigation.js +142 -0
  46. data/doc/js/search.js +94 -0
  47. data/doc/js/search_index.js +1 -0
  48. data/doc/js/searcher.js +228 -0
  49. data/doc/rdoc.css +543 -0
  50. data/doc/table_of_contents.html +176 -0
  51. data/lib/metric_tools/spread_sheet.rb +23 -1
  52. data/metric_tools.gemspec +13 -0
  53. data/spec/index_tree_spec.rb +101 -0
  54. data/spec/s3_spec.rb +80 -0
  55. data/spec/skype_spec.rb +39 -0
  56. data/spec/spread_sheet_spec.rb +165 -0
  57. data/spec/table_spec.rb +114 -0
  58. metadata +60 -6
  59. data/Gemfile.lock +0 -45
@@ -0,0 +1,952 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class MetricTools::Table - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../index.html">Home</a>
28
+ <a href="../table_of_contents.html#classes">Classes</a>
29
+ <a href="../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+ <div id="file-metadata">
47
+ <nav id="file-list-section" class="section">
48
+ <h3 class="section-header">Defined In</h3>
49
+ <ul>
50
+ <li>lib/metric_tools/table.rb
51
+ </ul>
52
+ </nav>
53
+
54
+
55
+ </div>
56
+
57
+ <div id="class-metadata">
58
+
59
+ <nav id="parent-class-section" class="section">
60
+ <h3 class="section-header">Parent</h3>
61
+
62
+ <p class="link"><a href="../Object.html">Object</a>
63
+
64
+ </nav>
65
+
66
+
67
+ <!-- Method Quickref -->
68
+ <nav id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+
71
+ <ul class="link-list">
72
+
73
+ <li><a href="#method-c-create">::create</a>
74
+
75
+ <li><a href="#method-c-create_with_array">::create_with_array</a>
76
+
77
+ <li><a href="#method-c-new">::new</a>
78
+
79
+ <li><a href="#method-i-5B-5D">#[]</a>
80
+
81
+ <li><a href="#method-i-5B-5D-3D">#[]=</a>
82
+
83
+ <li><a href="#method-i-add_below">#add_below</a>
84
+
85
+ <li><a href="#method-i-build">#build</a>
86
+
87
+ <li><a href="#method-i-collect">#collect</a>
88
+
89
+ <li><a href="#method-i-cols">#cols</a>
90
+
91
+ <li><a href="#method-i-each">#each</a>
92
+
93
+ <li><a href="#method-i-each_with_index">#each_with_index</a>
94
+
95
+ <li><a href="#method-i-height">#height</a>
96
+
97
+ <li><a href="#method-i-output_csv_file">#output_csv_file</a>
98
+
99
+ <li><a href="#method-i-output_file_with_seperator">#output_file_with_seperator</a>
100
+
101
+ <li><a href="#method-i-output_tsv_file">#output_tsv_file</a>
102
+
103
+ <li><a href="#method-i-print_csv">#print_csv</a>
104
+
105
+ <li><a href="#method-i-print_for_docs">#print_for_docs</a>
106
+
107
+ <li><a href="#method-i-print_pretty">#print_pretty</a>
108
+
109
+ <li><a href="#method-i-print_with_seperator">#print_with_seperator</a>
110
+
111
+ <li><a href="#method-i-rows">#rows</a>
112
+
113
+ <li><a href="#method-i-to_a">#to_a</a>
114
+
115
+ <li><a href="#method-i-width">#width</a>
116
+
117
+ </ul>
118
+ </nav>
119
+
120
+ </div>
121
+
122
+ <div id="project-metadata">
123
+ <nav id="fileindex-section" class="section project-section">
124
+ <h3 class="section-header">Pages</h3>
125
+
126
+ <ul>
127
+
128
+ <li class="file"><a href="../Gemfile.html">Gemfile</a>
129
+
130
+ <li class="file"><a href="../config/my_pref.html">my_pref</a>
131
+
132
+ </ul>
133
+ </nav>
134
+
135
+ <nav id="classindex-section" class="section project-section">
136
+ <h3 class="section-header">Class and Module Index</h3>
137
+
138
+ <ul class="link-list">
139
+
140
+ <li><a href="../MetricTools.html">MetricTools</a>
141
+
142
+ <li><a href="../MetricTools/IndexTree.html">MetricTools::IndexTree</a>
143
+
144
+ <li><a href="../MetricTools/S3.html">MetricTools::S3</a>
145
+
146
+ <li><a href="../MetricTools/Skype.html">MetricTools::Skype</a>
147
+
148
+ <li><a href="../MetricTools/SpreadSheet.html">MetricTools::SpreadSheet</a>
149
+
150
+ <li><a href="../MetricTools/Table.html">MetricTools::Table</a>
151
+
152
+ <li><a href="../Pref.html">Pref</a>
153
+
154
+ <li><a href="../Pref/GoogleDocs.html">Pref::GoogleDocs</a>
155
+
156
+ <li><a href="../Pref/S3.html">Pref::S3</a>
157
+
158
+ <li><a href="../Pref/Skype.html">Pref::Skype</a>
159
+
160
+ <li><a href="../Object.html">Object</a>
161
+
162
+ </ul>
163
+ </nav>
164
+
165
+ </div>
166
+ </nav>
167
+
168
+ <div id="documentation">
169
+ <h1 class="class">class MetricTools::Table</h1>
170
+
171
+ <div id="description" class="description">
172
+
173
+ <p>2次元配列のデータ構造を簡単に扱うためのクラス</p>
174
+
175
+ </div><!-- description -->
176
+
177
+
178
+
179
+
180
+ <section id="5Buntitled-5D" class="documentation-section">
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+ <!-- Methods -->
190
+
191
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
192
+ <h3 class="section-header">Public Class Methods</h3>
193
+
194
+
195
+ <div id="method-c-create" class="method-detail ">
196
+
197
+ <div class="method-heading">
198
+ <span class="method-name">create</span><span
199
+ class="method-args">(rows, cols, &proc)</span>
200
+ <span class="method-click-advice">click to toggle source</span>
201
+ </div>
202
+
203
+
204
+ <div class="method-description">
205
+
206
+ <p>Tableクラスのインスタンスを生成します</p>
207
+
208
+ <p>表の幅、高さを指定し、内容をブロックで指定します。 ブロックの返り値が、表の(i, j)の位置に入ります。</p>
209
+
210
+ <pre class="ruby"><span class="ruby-constant">Table</span>.<span class="ruby-identifier">create</span>(<span class="ruby-value">10</span>, <span class="ruby-value">5</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
211
+ <span class="ruby-keyword">return</span> <span class="ruby-node">&quot;set to (#{i}, #{j})&quot;</span>
212
+ }
213
+ </pre>
214
+
215
+
216
+
217
+ <div class="method-source-code" id="create-source">
218
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 23</span>
219
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create</span>(<span class="ruby-identifier">rows</span>, <span class="ruby-identifier">cols</span>, &amp;<span class="ruby-identifier">proc</span>)
220
+ <span class="ruby-identifier">table</span> = <span class="ruby-constant">Table</span>.<span class="ruby-identifier">new</span>
221
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">build</span>(<span class="ruby-identifier">rows</span>, <span class="ruby-identifier">cols</span>, &amp;<span class="ruby-identifier">proc</span>)
222
+ <span class="ruby-keyword">end</span></pre>
223
+ </div><!-- create-source -->
224
+
225
+ </div>
226
+
227
+
228
+
229
+
230
+ </div><!-- create-method -->
231
+
232
+
233
+ <div id="method-c-create_with_array" class="method-detail ">
234
+
235
+ <div class="method-heading">
236
+ <span class="method-name">create_with_array</span><span
237
+ class="method-args">(array)</span>
238
+ <span class="method-click-advice">click to toggle source</span>
239
+ </div>
240
+
241
+
242
+ <div class="method-description">
243
+
244
+ <p>Tableクラスのインスタンスを生成します</p>
245
+
246
+ <p>2次元配列を元にTableクラスに変換します。</p>
247
+
248
+ <pre>array = [[1, 2, 3], [4, 5, 6], [9, 0, '#']]
249
+ Table.create_with_array(array)</pre>
250
+
251
+
252
+
253
+ <div class="method-source-code" id="create_with_array-source">
254
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 34</span>
255
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create_with_array</span>(<span class="ruby-identifier">array</span>)
256
+ <span class="ruby-constant">Table</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">array</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">length</span>, <span class="ruby-identifier">array</span>.<span class="ruby-identifier">length</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
257
+ <span class="ruby-identifier">array</span>[<span class="ruby-identifier">j</span>][<span class="ruby-identifier">i</span>]
258
+ }
259
+ <span class="ruby-keyword">end</span></pre>
260
+ </div><!-- create_with_array-source -->
261
+
262
+ </div>
263
+
264
+
265
+
266
+
267
+ </div><!-- create_with_array-method -->
268
+
269
+
270
+ <div id="method-c-new" class="method-detail ">
271
+
272
+ <div class="method-heading">
273
+ <span class="method-name">new</span><span
274
+ class="method-args">()</span>
275
+ <span class="method-click-advice">click to toggle source</span>
276
+ </div>
277
+
278
+
279
+ <div class="method-description">
280
+
281
+
282
+
283
+
284
+
285
+ <div class="method-source-code" id="new-source">
286
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 10</span>
287
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
288
+ <span class="ruby-ivar">@_inner_data</span> = {}
289
+ <span class="ruby-keyword">end</span></pre>
290
+ </div><!-- new-source -->
291
+
292
+ </div>
293
+
294
+
295
+
296
+
297
+ </div><!-- new-method -->
298
+
299
+
300
+ </section><!-- public-class-method-details -->
301
+
302
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
303
+ <h3 class="section-header">Public Instance Methods</h3>
304
+
305
+
306
+ <div id="method-i-5B-5D" class="method-detail ">
307
+
308
+ <div class="method-heading">
309
+ <span class="method-name">[]</span><span
310
+ class="method-args">(i, j)</span>
311
+ <span class="method-click-advice">click to toggle source</span>
312
+ </div>
313
+
314
+
315
+ <div class="method-description">
316
+
317
+ <p>インデクサを用いてアクセスします 表の大きさを超えていると nilが返ります。</p>
318
+
319
+ <pre>table[1, 10]</pre>
320
+
321
+
322
+
323
+ <div class="method-source-code" id="5B-5D-source">
324
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 47</span>
325
+ <span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)
326
+ <span class="ruby-ivar">@_inner_data</span>[<span class="ruby-identifier">index_to_key</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)]
327
+ <span class="ruby-keyword">end</span></pre>
328
+ </div><!-- 5B-5D-source -->
329
+
330
+ </div>
331
+
332
+
333
+
334
+
335
+ </div><!-- 5B-5D-method -->
336
+
337
+
338
+ <div id="method-i-5B-5D-3D" class="method-detail ">
339
+
340
+ <div class="method-heading">
341
+ <span class="method-name">[]=</span><span
342
+ class="method-args">(i, j, val)</span>
343
+ <span class="method-click-advice">click to toggle source</span>
344
+ </div>
345
+
346
+
347
+ <div class="method-description">
348
+
349
+ <p>インデクサを用いてアクセスします 表の大きさを超えているとき、自動的に拡張します</p>
350
+
351
+ <pre>table[1, 10] = val</pre>
352
+
353
+
354
+
355
+ <div class="method-source-code" id="5B-5D-3D-source">
356
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 56</span>
357
+ <span class="ruby-keyword">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>, <span class="ruby-identifier">val</span>)
358
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;can't specify negative number for position.&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">j</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
359
+
360
+ <span class="ruby-ivar">@_inner_data</span>[<span class="ruby-identifier">index_to_key</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)] = <span class="ruby-identifier">val</span>
361
+ <span class="ruby-keyword">end</span></pre>
362
+ </div><!-- 5B-5D-3D-source -->
363
+
364
+ </div>
365
+
366
+
367
+
368
+
369
+ </div><!-- 5B-5D-3D-method -->
370
+
371
+
372
+ <div id="method-i-add_below" class="method-detail ">
373
+
374
+ <div class="method-heading">
375
+ <span class="method-name">add_below</span><span
376
+ class="method-args">(table)</span>
377
+ <span class="method-click-advice">click to toggle source</span>
378
+ </div>
379
+
380
+
381
+ <div class="method-description">
382
+
383
+
384
+
385
+
386
+
387
+ <div class="method-source-code" id="add_below-source">
388
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 100</span>
389
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_below</span>(<span class="ruby-identifier">table</span>)
390
+ <span class="ruby-identifier">table</span>.<span class="ruby-identifier">each_with_index</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">cell</span>, <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
391
+ <span class="ruby-keyword">self</span>[<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span><span class="ruby-operator">+</span><span class="ruby-keyword">self</span>.<span class="ruby-identifier">height</span>] = <span class="ruby-identifier">cell</span>
392
+ }
393
+ <span class="ruby-keyword">self</span>
394
+ <span class="ruby-keyword">end</span></pre>
395
+ </div><!-- add_below-source -->
396
+
397
+ </div>
398
+
399
+
400
+
401
+
402
+ </div><!-- add_below-method -->
403
+
404
+
405
+ <div id="method-i-build" class="method-detail ">
406
+
407
+ <div class="method-heading">
408
+ <span class="method-name">build</span><span
409
+ class="method-args">(rows, cols, &proc)</span>
410
+ <span class="method-click-advice">click to toggle source</span>
411
+ </div>
412
+
413
+
414
+ <div class="method-description">
415
+
416
+
417
+
418
+
419
+
420
+ <div class="method-source-code" id="build-source">
421
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 211</span>
422
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build</span>(<span class="ruby-identifier">rows</span>, <span class="ruby-identifier">cols</span>, &amp;<span class="ruby-identifier">proc</span>)
423
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">rows</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>
424
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">j</span> <span class="ruby-keyword">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">cols</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>
425
+ <span class="ruby-ivar">@_inner_data</span>[<span class="ruby-identifier">index_to_key</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)] = <span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)
426
+ <span class="ruby-keyword">end</span>
427
+ <span class="ruby-keyword">end</span>
428
+ <span class="ruby-keyword">self</span>
429
+ <span class="ruby-keyword">end</span></pre>
430
+ </div><!-- build-source -->
431
+
432
+ </div>
433
+
434
+
435
+
436
+
437
+ </div><!-- build-method -->
438
+
439
+
440
+ <div id="method-i-collect" class="method-detail ">
441
+
442
+ <div class="method-heading">
443
+ <span class="method-name">collect</span><span
444
+ class="method-args">(&proc)</span>
445
+ <span class="method-click-advice">click to toggle source</span>
446
+ </div>
447
+
448
+
449
+ <div class="method-description">
450
+
451
+
452
+
453
+
454
+
455
+ <div class="method-source-code" id="collect-source">
456
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 147</span>
457
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">collect</span>(&amp;<span class="ruby-identifier">proc</span>)
458
+ <span class="ruby-identifier">new_one</span> = <span class="ruby-constant">Table</span>.<span class="ruby-identifier">create</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">rows</span>, <span class="ruby-keyword">self</span>.<span class="ruby-identifier">cols</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
459
+ <span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword">self</span>[<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>], <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)
460
+ }
461
+ <span class="ruby-identifier">new_one</span>
462
+ <span class="ruby-keyword">end</span></pre>
463
+ </div><!-- collect-source -->
464
+
465
+ </div>
466
+
467
+
468
+
469
+
470
+ </div><!-- collect-method -->
471
+
472
+
473
+ <div id="method-i-cols" class="method-detail ">
474
+
475
+ <div class="method-heading">
476
+ <span class="method-name">cols</span><span
477
+ class="method-args">()</span>
478
+ <span class="method-click-advice">click to toggle source</span>
479
+ </div>
480
+
481
+
482
+ <div class="method-description">
483
+
484
+ <p>tableの幅(列数)を取得します</p>
485
+
486
+
487
+
488
+ <div class="method-source-code" id="cols-source">
489
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 77</span>
490
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cols</span>
491
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">width</span>
492
+ <span class="ruby-keyword">end</span></pre>
493
+ </div><!-- cols-source -->
494
+
495
+ </div>
496
+
497
+
498
+
499
+
500
+ </div><!-- cols-method -->
501
+
502
+
503
+ <div id="method-i-each" class="method-detail ">
504
+
505
+ <div class="method-heading">
506
+ <span class="method-name">each</span><span
507
+ class="method-args">(&proc)</span>
508
+ <span class="method-click-advice">click to toggle source</span>
509
+ </div>
510
+
511
+
512
+ <div class="method-description">
513
+
514
+ <p>全データに対して処理を行います</p>
515
+
516
+ <pre class="ruby"><span class="ruby-identifier">table</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">cell</span><span class="ruby-operator">|</span>
517
+ <span class="ruby-identifier">cell</span> <span class="ruby-operator">+=</span> <span class="ruby-value">10</span>
518
+ }
519
+ </pre>
520
+
521
+
522
+
523
+ <div class="method-source-code" id="each-source">
524
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 128</span>
525
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">proc</span>)
526
+ <span class="ruby-ivar">@_inner_data</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
527
+ <span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-ivar">@_inner_data</span>[<span class="ruby-identifier">key</span>])
528
+ }
529
+ <span class="ruby-keyword">end</span></pre>
530
+ </div><!-- each-source -->
531
+
532
+ </div>
533
+
534
+
535
+
536
+
537
+ </div><!-- each-method -->
538
+
539
+
540
+ <div id="method-i-each_with_index" class="method-detail ">
541
+
542
+ <div class="method-heading">
543
+ <span class="method-name">each_with_index</span><span
544
+ class="method-args">(&proc)</span>
545
+ <span class="method-click-advice">click to toggle source</span>
546
+ </div>
547
+
548
+
549
+ <div class="method-description">
550
+
551
+ <p>全データに対して処理を行います。(i, j)にデータの座標が入ります。</p>
552
+
553
+ <pre class="ruby"><span class="ruby-identifier">table</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">cell</span>, <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
554
+ <span class="ruby-identifier">cell</span> = <span class="ruby-identifier">i</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">j</span> * <span class="ruby-identifier">table</span>.<span class="ruby-identifier">width</span>
555
+ }
556
+ </pre>
557
+
558
+
559
+
560
+ <div class="method-source-code" id="each_with_index-source">
561
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 140</span>
562
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">each_with_index</span>(&amp;<span class="ruby-identifier">proc</span>)
563
+ <span class="ruby-ivar">@_inner_data</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
564
+ <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span> = <span class="ruby-identifier">key_to_index</span>(<span class="ruby-identifier">key</span>)
565
+ <span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-ivar">@_inner_data</span>[<span class="ruby-identifier">key</span>], <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)
566
+ }
567
+ <span class="ruby-keyword">end</span></pre>
568
+ </div><!-- each_with_index-source -->
569
+
570
+ </div>
571
+
572
+
573
+
574
+
575
+ </div><!-- each_with_index-method -->
576
+
577
+
578
+ <div id="method-i-height" class="method-detail ">
579
+
580
+ <div class="method-heading">
581
+ <span class="method-name">height</span><span
582
+ class="method-args">()</span>
583
+ <span class="method-click-advice">click to toggle source</span>
584
+ </div>
585
+
586
+
587
+ <div class="method-description">
588
+
589
+ <p>tableの高さ(行数)を取得します</p>
590
+
591
+
592
+
593
+ <div class="method-source-code" id="height-source">
594
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 84</span>
595
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">height</span>
596
+ <span class="ruby-identifier">max</span> = <span class="ruby-value">0</span>
597
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">key</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@_inner_data</span>.<span class="ruby-identifier">keys</span>
598
+ <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span> = <span class="ruby-identifier">key_to_index</span>(<span class="ruby-identifier">key</span>)
599
+ <span class="ruby-identifier">max</span> = <span class="ruby-identifier">i</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">i</span>
600
+ <span class="ruby-keyword">end</span>
601
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
602
+ <span class="ruby-keyword">end</span></pre>
603
+ </div><!-- height-source -->
604
+
605
+ </div>
606
+
607
+
608
+
609
+
610
+ </div><!-- height-method -->
611
+
612
+
613
+ <div id="method-i-output_csv_file" class="method-detail ">
614
+
615
+ <div class="method-heading">
616
+ <span class="method-name">output_csv_file</span><span
617
+ class="method-args">(path)</span>
618
+ <span class="method-click-advice">click to toggle source</span>
619
+ </div>
620
+
621
+
622
+ <div class="method-description">
623
+
624
+ <p>csvファイルとして出力します</p>
625
+
626
+
627
+
628
+ <div class="method-source-code" id="output_csv_file-source">
629
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 186</span>
630
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">output_csv_file</span>(<span class="ruby-identifier">path</span>)
631
+ <span class="ruby-identifier">output_file_with_seperator</span>(<span class="ruby-string">&quot;,&quot;</span>, <span class="ruby-identifier">path</span>)
632
+ <span class="ruby-keyword">end</span></pre>
633
+ </div><!-- output_csv_file-source -->
634
+
635
+ </div>
636
+
637
+
638
+
639
+
640
+ </div><!-- output_csv_file-method -->
641
+
642
+
643
+ <div id="method-i-output_file_with_seperator" class="method-detail ">
644
+
645
+ <div class="method-heading">
646
+ <span class="method-name">output_file_with_seperator</span><span
647
+ class="method-args">(s, path)</span>
648
+ <span class="method-click-advice">click to toggle source</span>
649
+ </div>
650
+
651
+
652
+ <div class="method-description">
653
+
654
+
655
+
656
+
657
+
658
+ <div class="method-source-code" id="output_file_with_seperator-source">
659
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 197</span>
660
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">output_file_with_seperator</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">path</span>)
661
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;start output &gt;&gt; #{path}...&quot;</span>
662
+
663
+ <span class="ruby-identifier">ret</span> = <span class="ruby-string">''</span>
664
+ <span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span>
665
+ <span class="ruby-identifier">ret</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">s</span>) <span class="ruby-operator">+</span> <span class="ruby-string">&quot;\n&quot;</span>
666
+ }
667
+
668
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span>, <span class="ruby-string">'w'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">fp</span><span class="ruby-operator">|</span>
669
+ <span class="ruby-identifier">fp</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">ret</span>
670
+ }
671
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;finish&quot;</span>
672
+ <span class="ruby-keyword">end</span></pre>
673
+ </div><!-- output_file_with_seperator-source -->
674
+
675
+ </div>
676
+
677
+
678
+
679
+
680
+ </div><!-- output_file_with_seperator-method -->
681
+
682
+
683
+ <div id="method-i-output_tsv_file" class="method-detail ">
684
+
685
+ <div class="method-heading">
686
+ <span class="method-name">output_tsv_file</span><span
687
+ class="method-args">(path)</span>
688
+ <span class="method-click-advice">click to toggle source</span>
689
+ </div>
690
+
691
+
692
+ <div class="method-description">
693
+
694
+ <p>tsvファイルとして出力します</p>
695
+
696
+
697
+
698
+ <div class="method-source-code" id="output_tsv_file-source">
699
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 193</span>
700
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">output_tsv_file</span>(<span class="ruby-identifier">path</span>)
701
+ <span class="ruby-identifier">output_file_with_seperator</span>(<span class="ruby-string">&quot;\t&quot;</span>, <span class="ruby-identifier">path</span>)
702
+ <span class="ruby-keyword">end</span></pre>
703
+ </div><!-- output_tsv_file-source -->
704
+
705
+ </div>
706
+
707
+
708
+
709
+
710
+ </div><!-- output_tsv_file-method -->
711
+
712
+
713
+ <div id="method-i-print_csv" class="method-detail ">
714
+
715
+ <div class="method-heading">
716
+ <span class="method-name">print_csv</span><span
717
+ class="method-args">()</span>
718
+ <span class="method-click-advice">click to toggle source</span>
719
+ </div>
720
+
721
+
722
+ <div class="method-description">
723
+
724
+ <p>コンソールにcsv形式で出力します</p>
725
+
726
+
727
+
728
+ <div class="method-source-code" id="print_csv-source">
729
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 166</span>
730
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_csv</span>
731
+ <span class="ruby-identifier">print_with_seperator</span>(<span class="ruby-string">&quot;,&quot;</span>)
732
+ <span class="ruby-keyword">end</span></pre>
733
+ </div><!-- print_csv-source -->
734
+
735
+ </div>
736
+
737
+
738
+
739
+
740
+ </div><!-- print_csv-method -->
741
+
742
+
743
+ <div id="method-i-print_for_docs" class="method-detail ">
744
+
745
+ <div class="method-heading">
746
+ <span class="method-name">print_for_docs</span><span
747
+ class="method-args">()</span>
748
+ <span class="method-click-advice">click to toggle source</span>
749
+ </div>
750
+
751
+
752
+ <div class="method-description">
753
+
754
+ <p>コンソールにtsv形式で出力します</p>
755
+
756
+
757
+
758
+ <div class="method-source-code" id="print_for_docs-source">
759
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 173</span>
760
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_for_docs</span>
761
+ <span class="ruby-identifier">print_with_seperator</span>(<span class="ruby-string">&quot;\t&quot;</span>)
762
+ <span class="ruby-keyword">end</span></pre>
763
+ </div><!-- print_for_docs-source -->
764
+
765
+ </div>
766
+
767
+
768
+
769
+
770
+ </div><!-- print_for_docs-method -->
771
+
772
+
773
+ <div id="method-i-print_pretty" class="method-detail ">
774
+
775
+ <div class="method-heading">
776
+ <span class="method-name">print_pretty</span><span
777
+ class="method-args">()</span>
778
+ <span class="method-click-advice">click to toggle source</span>
779
+ </div>
780
+
781
+
782
+ <div class="method-description">
783
+
784
+ <p>コンソールに綺麗な表形式で出力します(Hirbを使用)</p>
785
+
786
+
787
+
788
+ <div class="method-source-code" id="print_pretty-source">
789
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 159</span>
790
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_pretty</span>
791
+ <span class="ruby-identifier">puts</span> <span class="ruby-constant">Hirb</span><span class="ruby-operator">::</span><span class="ruby-constant">Helpers</span><span class="ruby-operator">::</span><span class="ruby-constant">Table</span>.<span class="ruby-identifier">render</span> <span class="ruby-ivar">@data</span>, <span class="ruby-value">:headers</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@headers</span>, <span class="ruby-value">:resize</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>
792
+ <span class="ruby-keyword">end</span></pre>
793
+ </div><!-- print_pretty-source -->
794
+
795
+ </div>
796
+
797
+
798
+
799
+
800
+ </div><!-- print_pretty-method -->
801
+
802
+
803
+ <div id="method-i-print_with_seperator" class="method-detail ">
804
+
805
+ <div class="method-heading">
806
+ <span class="method-name">print_with_seperator</span><span
807
+ class="method-args">(s)</span>
808
+ <span class="method-click-advice">click to toggle source</span>
809
+ </div>
810
+
811
+
812
+ <div class="method-description">
813
+
814
+
815
+
816
+
817
+
818
+ <div class="method-source-code" id="print_with_seperator-source">
819
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 177</span>
820
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_with_seperator</span>(<span class="ruby-identifier">s</span>)
821
+ <span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span>
822
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">s</span>)
823
+ }
824
+ <span class="ruby-keyword">end</span></pre>
825
+ </div><!-- print_with_seperator-source -->
826
+
827
+ </div>
828
+
829
+
830
+
831
+
832
+ </div><!-- print_with_seperator-method -->
833
+
834
+
835
+ <div id="method-i-rows" class="method-detail ">
836
+
837
+ <div class="method-heading">
838
+ <span class="method-name">rows</span><span
839
+ class="method-args">()</span>
840
+ <span class="method-click-advice">click to toggle source</span>
841
+ </div>
842
+
843
+
844
+ <div class="method-description">
845
+
846
+ <p>tableの高さ(行数)を取得します</p>
847
+
848
+
849
+
850
+ <div class="method-source-code" id="rows-source">
851
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 96</span>
852
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">rows</span>
853
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">height</span>
854
+ <span class="ruby-keyword">end</span></pre>
855
+ </div><!-- rows-source -->
856
+
857
+ </div>
858
+
859
+
860
+
861
+
862
+ </div><!-- rows-method -->
863
+
864
+
865
+ <div id="method-i-to_a" class="method-detail ">
866
+
867
+ <div class="method-heading">
868
+ <span class="method-name">to_a</span><span
869
+ class="method-args">()</span>
870
+ <span class="method-click-advice">click to toggle source</span>
871
+ </div>
872
+
873
+
874
+ <div class="method-description">
875
+
876
+ <p>2次元配列を返します。自身は変更されません。</p>
877
+
878
+ <pre class="ruby"><span class="ruby-identifier">table</span>.<span class="ruby-identifier">to_a</span> =<span class="ruby-operator">&gt;</span> [[<span class="ruby-value">1</span>,<span class="ruby-value">2</span>,<span class="ruby-value">3</span>], [<span class="ruby-value">4</span>,<span class="ruby-value">5</span>,<span class="ruby-value">6</span>], [<span class="ruby-value">9</span>,<span class="ruby-value">0</span>,<span class="ruby-string">'#'</span>]]
879
+ </pre>
880
+
881
+
882
+
883
+ <div class="method-source-code" id="to_a-source">
884
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 111</span>
885
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">to_a</span>
886
+ <span class="ruby-identifier">ret</span> = []
887
+ <span class="ruby-ivar">@_inner_data</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
888
+ <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span> = <span class="ruby-identifier">key_to_index</span>(<span class="ruby-identifier">key</span>)
889
+
890
+ <span class="ruby-identifier">ret</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">||=</span> []
891
+ <span class="ruby-identifier">ret</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">j</span>] = <span class="ruby-identifier">val</span>
892
+ }
893
+ <span class="ruby-identifier">ret</span>
894
+ <span class="ruby-keyword">end</span></pre>
895
+ </div><!-- to_a-source -->
896
+
897
+ </div>
898
+
899
+
900
+
901
+
902
+ </div><!-- to_a-method -->
903
+
904
+
905
+ <div id="method-i-width" class="method-detail ">
906
+
907
+ <div class="method-heading">
908
+ <span class="method-name">width</span><span
909
+ class="method-args">()</span>
910
+ <span class="method-click-advice">click to toggle source</span>
911
+ </div>
912
+
913
+
914
+ <div class="method-description">
915
+
916
+ <p>tableの幅(列数)を取得します</p>
917
+
918
+
919
+
920
+ <div class="method-source-code" id="width-source">
921
+ <pre><span class="ruby-comment"># File lib/metric_tools/table.rb, line 65</span>
922
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">width</span>
923
+ <span class="ruby-identifier">max</span> = <span class="ruby-value">0</span>
924
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">key</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@_inner_data</span>.<span class="ruby-identifier">keys</span>
925
+ <span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span> = <span class="ruby-identifier">key_to_index</span>(<span class="ruby-identifier">key</span>)
926
+ <span class="ruby-identifier">max</span> = <span class="ruby-identifier">j</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">j</span>
927
+ <span class="ruby-keyword">end</span>
928
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
929
+ <span class="ruby-keyword">end</span></pre>
930
+ </div><!-- width-source -->
931
+
932
+ </div>
933
+
934
+
935
+
936
+
937
+ </div><!-- width-method -->
938
+
939
+
940
+ </section><!-- public-instance-method-details -->
941
+
942
+ </section><!-- 5Buntitled-5D -->
943
+
944
+ </div><!-- documentation -->
945
+
946
+
947
+ <footer id="validator-badges">
948
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
949
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
950
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
951
+ </footer>
952
+