rushcheck 0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/Rakefile +1 -1
  2. data/data/rushcheck/doc/rushcheck.txt +68 -10
  3. data/data/rushcheck/examples/candy.rb +43 -0
  4. data/data/rushcheck/rdoc/classes/Arbitrary.html +5 -5
  5. data/data/rushcheck/rdoc/classes/Arbitrary.src/M000076.html +18 -0
  6. data/data/rushcheck/rdoc/classes/Assertion.src/M000016.html +9 -4
  7. data/data/rushcheck/rdoc/classes/Coarbitrary.html +5 -5
  8. data/data/rushcheck/rdoc/classes/Coarbitrary.src/M000096.html +18 -0
  9. data/data/rushcheck/rdoc/classes/Float.html +20 -20
  10. data/data/rushcheck/rdoc/classes/Float.src/M000048.html +7 -4
  11. data/data/rushcheck/rdoc/classes/Float.src/M000049.html +4 -8
  12. data/data/rushcheck/rdoc/classes/Float.src/M000050.html +8 -6
  13. data/data/rushcheck/rdoc/classes/Float.src/M000051.html +20 -0
  14. data/data/rushcheck/rdoc/classes/Gen.html +109 -87
  15. data/data/rushcheck/rdoc/classes/Gen.src/M000026.html +1 -1
  16. data/data/rushcheck/rdoc/classes/Gen.src/M000027.html +28 -5
  17. data/data/rushcheck/rdoc/classes/Gen.src/M000028.html +6 -14
  18. data/data/rushcheck/rdoc/classes/Gen.src/M000029.html +13 -9
  19. data/data/rushcheck/rdoc/classes/Gen.src/M000030.html +10 -4
  20. data/data/rushcheck/rdoc/classes/Gen.src/M000031.html +4 -4
  21. data/data/rushcheck/rdoc/classes/Gen.src/M000032.html +4 -4
  22. data/data/rushcheck/rdoc/classes/Gen.src/M000033.html +4 -4
  23. data/data/rushcheck/rdoc/classes/Gen.src/M000034.html +4 -4
  24. data/data/rushcheck/rdoc/classes/Gen.src/M000035.html +4 -10
  25. data/data/rushcheck/rdoc/classes/Gen.src/M000036.html +10 -4
  26. data/data/rushcheck/rdoc/classes/Gen.src/M000037.html +4 -7
  27. data/data/rushcheck/rdoc/classes/Gen.src/M000038.html +7 -4
  28. data/data/rushcheck/rdoc/classes/Gen.src/M000039.html +4 -4
  29. data/data/rushcheck/rdoc/classes/Gen.src/M000040.html +4 -9
  30. data/data/rushcheck/rdoc/classes/Gen.src/M000041.html +9 -5
  31. data/data/rushcheck/rdoc/classes/Gen.src/M000042.html +5 -4
  32. data/data/rushcheck/rdoc/classes/Gen.src/M000043.html +4 -10
  33. data/data/rushcheck/rdoc/classes/Gen.src/M000044.html +24 -0
  34. data/data/rushcheck/rdoc/classes/HsRandom.html +20 -20
  35. data/data/rushcheck/rdoc/classes/HsRandom.src/M000082.html +8 -18
  36. data/data/rushcheck/rdoc/classes/HsRandom.src/M000083.html +18 -4
  37. data/data/rushcheck/rdoc/classes/HsRandom.src/M000084.html +18 -0
  38. data/data/rushcheck/rdoc/classes/NilClass.html +15 -15
  39. data/data/rushcheck/rdoc/classes/NilClass.src/M000060.html +4 -4
  40. data/data/rushcheck/rdoc/classes/NilClass.src/M000061.html +4 -4
  41. data/data/rushcheck/rdoc/classes/NilClass.src/M000062.html +18 -0
  42. data/data/rushcheck/rdoc/classes/Property.html +10 -10
  43. data/data/rushcheck/rdoc/classes/Property.src/M000071.html +12 -4
  44. data/data/rushcheck/rdoc/classes/Property.src/M000072.html +18 -0
  45. data/data/rushcheck/rdoc/classes/RandomArray.src/M000022.html +2 -2
  46. data/data/rushcheck/rdoc/classes/RandomBool.html +10 -10
  47. data/data/rushcheck/rdoc/classes/RandomBool.src/M000080.html +4 -5
  48. data/data/rushcheck/rdoc/classes/RandomBool.src/M000081.html +19 -0
  49. data/data/rushcheck/rdoc/classes/RandomGen.html +20 -20
  50. data/data/rushcheck/rdoc/classes/RandomGen.src/M000077.html +3 -3
  51. data/data/rushcheck/rdoc/classes/RandomGen.src/M000078.html +3 -3
  52. data/data/rushcheck/rdoc/classes/RandomGen.src/M000079.html +18 -0
  53. data/data/rushcheck/rdoc/classes/RandomHash.html +16 -16
  54. data/data/rushcheck/rdoc/classes/RandomHash.src/M000045.html +4 -12
  55. data/data/rushcheck/rdoc/classes/RandomHash.src/M000046.html +11 -7
  56. data/data/rushcheck/rdoc/classes/RandomHash.src/M000047.html +22 -0
  57. data/data/rushcheck/rdoc/classes/RandomProc.html +20 -20
  58. data/data/rushcheck/rdoc/classes/RandomProc.src/M000056.html +4 -16
  59. data/data/rushcheck/rdoc/classes/RandomProc.src/M000057.html +13 -9
  60. data/data/rushcheck/rdoc/classes/RandomProc.src/M000058.html +11 -5
  61. data/data/rushcheck/rdoc/classes/RandomProc.src/M000059.html +20 -0
  62. data/data/rushcheck/rdoc/classes/Result.html +19 -19
  63. data/data/rushcheck/rdoc/classes/Result.src/M000052.html +4 -4
  64. data/data/rushcheck/rdoc/classes/Result.src/M000053.html +4 -4
  65. data/data/rushcheck/rdoc/classes/Result.src/M000054.html +18 -0
  66. data/data/rushcheck/rdoc/classes/RushCheckConfig.src/M000004.html +1 -1
  67. data/data/rushcheck/rdoc/classes/RushCheckConfig.src/M000005.html +1 -1
  68. data/data/rushcheck/rdoc/classes/String.html +20 -20
  69. data/data/rushcheck/rdoc/classes/String.src/M000067.html +10 -4
  70. data/data/rushcheck/rdoc/classes/String.src/M000068.html +4 -11
  71. data/data/rushcheck/rdoc/classes/String.src/M000069.html +10 -7
  72. data/data/rushcheck/rdoc/classes/String.src/M000070.html +22 -0
  73. data/data/rushcheck/rdoc/classes/Testable.html +54 -54
  74. data/data/rushcheck/rdoc/classes/Testable.src/M000085.html +4 -4
  75. data/data/rushcheck/rdoc/classes/Testable.src/M000086.html +18 -0
  76. data/data/rushcheck/rdoc/classes/Testable.src/M000089.html +4 -4
  77. data/data/rushcheck/rdoc/classes/Testable.src/M000090.html +4 -4
  78. data/data/rushcheck/rdoc/classes/Testable.src/M000091.html +18 -0
  79. data/data/rushcheck/rdoc/classes/Testable.src/M000093.html +18 -0
  80. data/data/rushcheck/rdoc/classes/Testable.src/M000095.html +18 -0
  81. data/data/rushcheck/rdoc/classes/TheStdGen.html +20 -20
  82. data/data/rushcheck/rdoc/classes/TheStdGen.src/M000063.html +4 -6
  83. data/data/rushcheck/rdoc/classes/TheStdGen.src/M000064.html +6 -7
  84. data/data/rushcheck/rdoc/classes/TheStdGen.src/M000065.html +7 -4
  85. data/data/rushcheck/rdoc/classes/TheStdGen.src/M000066.html +18 -0
  86. data/data/rushcheck/rdoc/classes/TrueClass.html +15 -15
  87. data/data/rushcheck/rdoc/classes/TrueClass.src/M000073.html +4 -4
  88. data/data/rushcheck/rdoc/classes/TrueClass.src/M000074.html +4 -4
  89. data/data/rushcheck/rdoc/classes/TrueClass.src/M000075.html +18 -0
  90. data/data/rushcheck/rdoc/created.rid +1 -1
  91. data/data/rushcheck/rdoc/files/rushcheck/array_rb.html +1 -1
  92. data/data/rushcheck/rdoc/files/rushcheck/assertion_rb.html +1 -1
  93. data/data/rushcheck/rdoc/files/rushcheck/config_rb.html +1 -1
  94. data/data/rushcheck/rdoc/files/rushcheck/gen_rb.html +8 -1
  95. data/data/rushcheck/rdoc/files/rushcheck/rushcheck_rb.html +6 -2
  96. data/data/rushcheck/rdoc/files/rushcheck/testable_rb.html +1 -1
  97. data/data/rushcheck/rdoc/fr_method_index.html +75 -74
  98. data/lib/rushcheck/gen.rb +40 -3
  99. metadata +22 -2
@@ -93,24 +93,25 @@ instances.
93
93
  <h3 class="section-bar">Methods</h3>
94
94
 
95
95
  <div class="name-list">
96
- <a href="#M000037">bind</a>&nbsp;&nbsp;
96
+ <a href="#M000038">bind</a>&nbsp;&nbsp;
97
97
  <a href="#M000026">choose</a>&nbsp;&nbsp;
98
- <a href="#M000027">elements</a>&nbsp;&nbsp;
99
- <a href="#M000039">fmap</a>&nbsp;&nbsp;
100
- <a href="#M000040">forall</a>&nbsp;&nbsp;
101
- <a href="#M000028">frequency</a>&nbsp;&nbsp;
102
- <a href="#M000041">generate</a>&nbsp;&nbsp;
103
- <a href="#M000029">lift_array</a>&nbsp;&nbsp;
104
- <a href="#M000036">new</a>&nbsp;&nbsp;
105
- <a href="#M000030">oneof</a>&nbsp;&nbsp;
106
- <a href="#M000031">promote</a>&nbsp;&nbsp;
107
- <a href="#M000032">rand</a>&nbsp;&nbsp;
108
- <a href="#M000042">resize</a>&nbsp;&nbsp;
109
- <a href="#M000033">sized</a>&nbsp;&nbsp;
110
- <a href="#M000034">unit</a>&nbsp;&nbsp;
111
- <a href="#M000038">value</a>&nbsp;&nbsp;
112
- <a href="#M000043">variant</a>&nbsp;&nbsp;
113
- <a href="#M000035">vector</a>&nbsp;&nbsp;
98
+ <a href="#M000027">create</a>&nbsp;&nbsp;
99
+ <a href="#M000028">elements</a>&nbsp;&nbsp;
100
+ <a href="#M000040">fmap</a>&nbsp;&nbsp;
101
+ <a href="#M000041">forall</a>&nbsp;&nbsp;
102
+ <a href="#M000029">frequency</a>&nbsp;&nbsp;
103
+ <a href="#M000042">generate</a>&nbsp;&nbsp;
104
+ <a href="#M000030">lift_array</a>&nbsp;&nbsp;
105
+ <a href="#M000037">new</a>&nbsp;&nbsp;
106
+ <a href="#M000031">oneof</a>&nbsp;&nbsp;
107
+ <a href="#M000032">promote</a>&nbsp;&nbsp;
108
+ <a href="#M000033">rand</a>&nbsp;&nbsp;
109
+ <a href="#M000043">resize</a>&nbsp;&nbsp;
110
+ <a href="#M000034">sized</a>&nbsp;&nbsp;
111
+ <a href="#M000035">unit</a>&nbsp;&nbsp;
112
+ <a href="#M000039">value</a>&nbsp;&nbsp;
113
+ <a href="#M000044">variant</a>&nbsp;&nbsp;
114
+ <a href="#M000036">vector</a>&nbsp;&nbsp;
114
115
  </div>
115
116
  </div>
116
117
 
@@ -158,6 +159,27 @@ implement arbitrary method into your class.
158
159
  <div class="method-heading">
159
160
  <a href="Gen.src/M000027.html" target="Code" class="method-signature"
160
161
  onclick="popupCode('Gen.src/M000027.html');return false;">
162
+ <span class="method-name">create</span><span class="method-args">(xs, &amp;f)</span>
163
+ </a>
164
+ </div>
165
+
166
+ <div class="method-description">
167
+ <p>
168
+ create is one of primitive generators to create a random <a
169
+ href="Gen.html">Gen</a> object. create takes an array of <a
170
+ href="Gen.html">Gen</a> objects, and any block to generate object. Then
171
+ create returns a <a href="Gen.html">Gen</a> object. It may useful to
172
+ implement arbitrary method into your class.
173
+ </p>
174
+ </div>
175
+ </div>
176
+
177
+ <div id="method-M000028" class="method-detail">
178
+ <a name="M000028"></a>
179
+
180
+ <div class="method-heading">
181
+ <a href="Gen.src/M000028.html" target="Code" class="method-signature"
182
+ onclick="popupCode('Gen.src/M000028.html');return false;">
161
183
  <span class="method-name">elements</span><span class="method-args">(xs)</span>
162
184
  </a>
163
185
  </div>
@@ -172,12 +194,12 @@ randomly. It may useful to implement arbitrary method into your class.
172
194
  </div>
173
195
  </div>
174
196
 
175
- <div id="method-M000028" class="method-detail">
176
- <a name="M000028"></a>
197
+ <div id="method-M000029" class="method-detail">
198
+ <a name="M000029"></a>
177
199
 
178
200
  <div class="method-heading">
179
- <a href="Gen.src/M000028.html" target="Code" class="method-signature"
180
- onclick="popupCode('Gen.src/M000028.html');return false;">
201
+ <a href="Gen.src/M000029.html" target="Code" class="method-signature"
202
+ onclick="popupCode('Gen.src/M000029.html');return false;">
181
203
  <span class="method-name">frequency</span><span class="method-args">(xs)</span>
182
204
  </a>
183
205
  </div>
@@ -190,44 +212,44 @@ returns a <a href="Gen.html">Gen</a> object. The first component of pair
190
212
  should be a positive <a href="Integer.html">Integer</a> and the second one
191
213
  should be a <a href="Gen.html">Gen</a> object. The integer acts as a weight
192
214
  for choosing random <a href="Gen.html">Gen</a> object in the array. For
193
- example, frequency([[1, <a href="Gen.html#M000032">Gen.rand</a>], [2, <a
215
+ example, frequency([[1, <a href="Gen.html#M000033">Gen.rand</a>], [2, <a
194
216
  href="Integer.html#M000007">Integer.arbitrary</a>]]) returns the random
195
- generator <a href="Gen.html#M000032">Gen.rand</a> in 33%, while another
217
+ generator <a href="Gen.html#M000033">Gen.rand</a> in 33%, while another
196
218
  random generator of <a href="Integer.html">Integer</a> (<a
197
219
  href="Integer.html#M000007">Integer.arbitrary</a>) in 67%.
198
220
  </p>
199
221
  </div>
200
222
  </div>
201
223
 
202
- <div id="method-M000029" class="method-detail">
203
- <a name="M000029"></a>
224
+ <div id="method-M000030" class="method-detail">
225
+ <a name="M000030"></a>
204
226
 
205
227
  <div class="method-heading">
206
- <a href="Gen.src/M000029.html" target="Code" class="method-signature"
207
- onclick="popupCode('Gen.src/M000029.html');return false;">
208
- <span class="method-name">lift_array</span><span class="method-args">(ary) {|.value(n, r1)| ...}</span>
228
+ <a href="Gen.src/M000030.html" target="Code" class="method-signature"
229
+ onclick="popupCode('Gen.src/M000030.html');return false;">
230
+ <span class="method-name">lift_array</span><span class="method-args">(xs) {|.value(n, r1)| ...}</span>
209
231
  </a>
210
232
  </div>
211
233
 
212
234
  <div class="method-description">
213
235
  <p>
214
- <a href="Gen.html#M000029">lift_array</a> is one of primitive generators to
236
+ <a href="Gen.html#M000030">lift_array</a> is one of primitive generators to
215
237
  create a randam <a href="Gen.html">Gen</a> object. <a
216
- href="Gen.html#M000029">lift_array</a> takes an array and a block which has
238
+ href="Gen.html#M000030">lift_array</a> takes an array and a block which has
217
239
  a variable. The block should return a <a href="Gen.html">Gen</a> object. <a
218
- href="Gen.html#M000029">lift_array</a> returns a <a href="Gen.html">Gen</a>
240
+ href="Gen.html#M000030">lift_array</a> returns a <a href="Gen.html">Gen</a>
219
241
  object which generates an array of the result of given block for applying
220
242
  each member of given array.
221
243
  </p>
222
244
  </div>
223
245
  </div>
224
246
 
225
- <div id="method-M000036" class="method-detail">
226
- <a name="M000036"></a>
247
+ <div id="method-M000037" class="method-detail">
248
+ <a name="M000037"></a>
227
249
 
228
250
  <div class="method-heading">
229
- <a href="Gen.src/M000036.html" target="Code" class="method-signature"
230
- onclick="popupCode('Gen.src/M000036.html');return false;">
251
+ <a href="Gen.src/M000037.html" target="Code" class="method-signature"
252
+ onclick="popupCode('Gen.src/M000037.html');return false;">
231
253
  <span class="method-name">new</span><span class="method-args">(&amp;f)</span>
232
254
  </a>
233
255
  </div>
@@ -242,12 +264,12 @@ href="RandomGen.html">RandomGen</a>.
242
264
  </div>
243
265
  </div>
244
266
 
245
- <div id="method-M000030" class="method-detail">
246
- <a name="M000030"></a>
267
+ <div id="method-M000031" class="method-detail">
268
+ <a name="M000031"></a>
247
269
 
248
270
  <div class="method-heading">
249
- <a href="Gen.src/M000030.html" target="Code" class="method-signature"
250
- onclick="popupCode('Gen.src/M000030.html');return false;">
271
+ <a href="Gen.src/M000031.html" target="Code" class="method-signature"
272
+ onclick="popupCode('Gen.src/M000031.html');return false;">
251
273
  <span class="method-name">oneof</span><span class="method-args">(gens)</span>
252
274
  </a>
253
275
  </div>
@@ -263,12 +285,12 @@ randomly. It may useful to implement arbitrary method into your class.
263
285
  </div>
264
286
  </div>
265
287
 
266
- <div id="method-M000031" class="method-detail">
267
- <a name="M000031"></a>
288
+ <div id="method-M000032" class="method-detail">
289
+ <a name="M000032"></a>
268
290
 
269
291
  <div class="method-heading">
270
- <a href="Gen.src/M000031.html" target="Code" class="method-signature"
271
- onclick="popupCode('Gen.src/M000031.html');return false;">
292
+ <a href="Gen.src/M000032.html" target="Code" class="method-signature"
293
+ onclick="popupCode('Gen.src/M000032.html');return false;">
272
294
  <span class="method-name">promote</span><span class="method-args">() {|a| ...}</span>
273
295
  </a>
274
296
  </div>
@@ -285,12 +307,12 @@ coarbitrary method into your class.
285
307
  </div>
286
308
  </div>
287
309
 
288
- <div id="method-M000032" class="method-detail">
289
- <a name="M000032"></a>
310
+ <div id="method-M000033" class="method-detail">
311
+ <a name="M000033"></a>
290
312
 
291
313
  <div class="method-heading">
292
- <a href="Gen.src/M000032.html" target="Code" class="method-signature"
293
- onclick="popupCode('Gen.src/M000032.html');return false;">
314
+ <a href="Gen.src/M000033.html" target="Code" class="method-signature"
315
+ onclick="popupCode('Gen.src/M000033.html');return false;">
294
316
  <span class="method-name">rand</span><span class="method-args">()</span>
295
317
  </a>
296
318
  </div>
@@ -303,12 +325,12 @@ number generator.
303
325
  </div>
304
326
  </div>
305
327
 
306
- <div id="method-M000033" class="method-detail">
307
- <a name="M000033"></a>
328
+ <div id="method-M000034" class="method-detail">
329
+ <a name="M000034"></a>
308
330
 
309
331
  <div class="method-heading">
310
- <a href="Gen.src/M000033.html" target="Code" class="method-signature"
311
- onclick="popupCode('Gen.src/M000033.html');return false;">
332
+ <a href="Gen.src/M000034.html" target="Code" class="method-signature"
333
+ onclick="popupCode('Gen.src/M000034.html');return false;">
312
334
  <span class="method-name">sized</span><span class="method-args">() {|n| ...}</span>
313
335
  </a>
314
336
  </div>
@@ -322,12 +344,12 @@ The block should be a function which changes the size of random instances.
322
344
  </div>
323
345
  </div>
324
346
 
325
- <div id="method-M000034" class="method-detail">
326
- <a name="M000034"></a>
347
+ <div id="method-M000035" class="method-detail">
348
+ <a name="M000035"></a>
327
349
 
328
350
  <div class="method-heading">
329
- <a href="Gen.src/M000034.html" target="Code" class="method-signature"
330
- onclick="popupCode('Gen.src/M000034.html');return false;">
351
+ <a href="Gen.src/M000035.html" target="Code" class="method-signature"
352
+ onclick="popupCode('Gen.src/M000035.html');return false;">
331
353
  <span class="method-name">unit</span><span class="method-args">(x)</span>
332
354
  </a>
333
355
  </div>
@@ -341,12 +363,12 @@ href="Gen.html">Gen</a> object which generates the given object.
341
363
  </div>
342
364
  </div>
343
365
 
344
- <div id="method-M000035" class="method-detail">
345
- <a name="M000035"></a>
366
+ <div id="method-M000036" class="method-detail">
367
+ <a name="M000036"></a>
346
368
 
347
369
  <div class="method-heading">
348
- <a href="Gen.src/M000035.html" target="Code" class="method-signature"
349
- onclick="popupCode('Gen.src/M000035.html');return false;">
370
+ <a href="Gen.src/M000036.html" target="Code" class="method-signature"
371
+ onclick="popupCode('Gen.src/M000036.html');return false;">
350
372
  <span class="method-name">vector</span><span class="method-args">(c, len)</span>
351
373
  </a>
352
374
  </div>
@@ -364,12 +386,12 @@ belongs the given class and given length.
364
386
 
365
387
  <h3 class="section-bar">Public Instance methods</h3>
366
388
 
367
- <div id="method-M000037" class="method-detail">
368
- <a name="M000037"></a>
389
+ <div id="method-M000038" class="method-detail">
390
+ <a name="M000038"></a>
369
391
 
370
392
  <div class="method-heading">
371
- <a href="Gen.src/M000037.html" target="Code" class="method-signature"
372
- onclick="popupCode('Gen.src/M000037.html');return false;">
393
+ <a href="Gen.src/M000038.html" target="Code" class="method-signature"
394
+ onclick="popupCode('Gen.src/M000038.html');return false;">
373
395
  <span class="method-name">bind</span><span class="method-args">() {|value(n, r1)| ...}</span>
374
396
  </a>
375
397
  </div>
@@ -384,12 +406,12 @@ href="RandomGen.html">RandomGen</a>.
384
406
  </div>
385
407
  </div>
386
408
 
387
- <div id="method-M000039" class="method-detail">
388
- <a name="M000039"></a>
409
+ <div id="method-M000040" class="method-detail">
410
+ <a name="M000040"></a>
389
411
 
390
412
  <div class="method-heading">
391
- <a href="Gen.src/M000039.html" target="Code" class="method-signature"
392
- onclick="popupCode('Gen.src/M000039.html');return false;">
413
+ <a href="Gen.src/M000040.html" target="Code" class="method-signature"
414
+ onclick="popupCode('Gen.src/M000040.html');return false;">
393
415
  <span class="method-name">fmap</span><span class="method-args">() {|x| ...}</span>
394
416
  </a>
395
417
  </div>
@@ -402,12 +424,12 @@ which takes one variable.
402
424
  </div>
403
425
  </div>
404
426
 
405
- <div id="method-M000040" class="method-detail">
406
- <a name="M000040"></a>
427
+ <div id="method-M000041" class="method-detail">
428
+ <a name="M000041"></a>
407
429
 
408
430
  <div class="method-heading">
409
- <a href="Gen.src/M000040.html" target="Code" class="method-signature"
410
- onclick="popupCode('Gen.src/M000040.html');return false;">
431
+ <a href="Gen.src/M000041.html" target="Code" class="method-signature"
432
+ onclick="popupCode('Gen.src/M000041.html');return false;">
411
433
  <span class="method-name">forall</span><span class="method-args">() {|*a| ...}</span>
412
434
  </a>
413
435
  </div>
@@ -422,12 +444,12 @@ of the property.
422
444
  </div>
423
445
  </div>
424
446
 
425
- <div id="method-M000041" class="method-detail">
426
- <a name="M000041"></a>
447
+ <div id="method-M000042" class="method-detail">
448
+ <a name="M000042"></a>
427
449
 
428
450
  <div class="method-heading">
429
- <a href="Gen.src/M000041.html" target="Code" class="method-signature"
430
- onclick="popupCode('Gen.src/M000041.html');return false;">
451
+ <a href="Gen.src/M000042.html" target="Code" class="method-signature"
452
+ onclick="popupCode('Gen.src/M000042.html');return false;">
431
453
  <span class="method-name">generate</span><span class="method-args">(n, rnd)</span>
432
454
  </a>
433
455
  </div>
@@ -441,12 +463,12 @@ number generator such as <a href="StdGen.html">StdGen</a>.
441
463
  </div>
442
464
  </div>
443
465
 
444
- <div id="method-M000042" class="method-detail">
445
- <a name="M000042"></a>
466
+ <div id="method-M000043" class="method-detail">
467
+ <a name="M000043"></a>
446
468
 
447
469
  <div class="method-heading">
448
- <a href="Gen.src/M000042.html" target="Code" class="method-signature"
449
- onclick="popupCode('Gen.src/M000042.html');return false;">
470
+ <a href="Gen.src/M000043.html" target="Code" class="method-signature"
471
+ onclick="popupCode('Gen.src/M000043.html');return false;">
450
472
  <span class="method-name">resize</span><span class="method-args">(n)</span>
451
473
  </a>
452
474
  </div>
@@ -460,12 +482,12 @@ href="Integer.html">Integer</a>.
460
482
  </div>
461
483
  </div>
462
484
 
463
- <div id="method-M000038" class="method-detail">
464
- <a name="M000038"></a>
485
+ <div id="method-M000039" class="method-detail">
486
+ <a name="M000039"></a>
465
487
 
466
488
  <div class="method-heading">
467
- <a href="Gen.src/M000038.html" target="Code" class="method-signature"
468
- onclick="popupCode('Gen.src/M000038.html');return false;">
489
+ <a href="Gen.src/M000039.html" target="Code" class="method-signature"
490
+ onclick="popupCode('Gen.src/M000039.html');return false;">
469
491
  <span class="method-name">value</span><span class="method-args">(n, g)</span>
470
492
  </a>
471
493
  </div>
@@ -480,12 +502,12 @@ href="RandomGen.html">RandomGen</a>.
480
502
  </div>
481
503
  </div>
482
504
 
483
- <div id="method-M000043" class="method-detail">
484
- <a name="M000043"></a>
505
+ <div id="method-M000044" class="method-detail">
506
+ <a name="M000044"></a>
485
507
 
486
508
  <div class="method-heading">
487
- <a href="Gen.src/M000043.html" target="Code" class="method-signature"
488
- onclick="popupCode('Gen.src/M000043.html');return false;">
509
+ <a href="Gen.src/M000044.html" target="Code" class="method-signature"
510
+ onclick="popupCode('Gen.src/M000044.html');return false;">
489
511
  <span class="method-name">variant</span><span class="method-args">(v)</span>
490
512
  </a>
491
513
  </div>
@@ -10,7 +10,7 @@
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 12</span>
13
+ <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 16</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">choose</span>(<span class="ruby-identifier">lo</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">hi</span>=<span class="ruby-keyword kw">nil</span>)
15
15
  <span class="ruby-identifier">rand</span>.<span class="ruby-identifier">fmap</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">lo</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">random</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">lo</span>, <span class="ruby-identifier">hi</span>)[<span class="ruby-value">0</span>] }
16
16
  <span class="ruby-keyword kw">end</span></pre>
@@ -5,16 +5,39 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>elements (Gen)</title>
8
+ <title>create (Gen)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 20</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">elements</span>(<span class="ruby-identifier">xs</span>)
15
- <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RuntimeError</span>, <span class="ruby-value str">&quot;given argument is empty&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">empty?</span>
13
+ <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 24</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">xs</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">f</span>)
15
+ <span class="ruby-constant">Gen</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
16
+ <span class="ruby-identifier">r2</span> = <span class="ruby-identifier">r</span>
17
+ <span class="ruby-identifier">nguard</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">arity</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">length</span>
18
+ <span class="ruby-identifier">guards</span> = <span class="ruby-identifier">nguard</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">nguard</span>, <span class="ruby-constant">Guard</span>.<span class="ruby-identifier">new</span>) <span class="ruby-operator">:</span> []
16
19
 
17
- <span class="ruby-identifier">choose</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">fmap</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">xs</span>[<span class="ruby-identifier">i</span>] }
20
+ <span class="ruby-identifier">try</span> = <span class="ruby-value">0</span>
21
+ <span class="ruby-keyword kw">begin</span>
22
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">try</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@@max_create</span>
23
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RuntimeError</span>, <span class="ruby-value str">&quot;Failed to guards too many.&quot;</span>)
24
+ <span class="ruby-keyword kw">end</span>
25
+ <span class="ruby-identifier">args</span> = <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gen</span><span class="ruby-operator">|</span>
26
+ <span class="ruby-identifier">r1</span>, <span class="ruby-identifier">r2</span> = <span class="ruby-identifier">r2</span>.<span class="ruby-identifier">split</span>
27
+ <span class="ruby-identifier">gen</span>.<span class="ruby-identifier">value</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">r1</span>)
28
+ <span class="ruby-keyword kw">end</span>
29
+ <span class="ruby-identifier">ys</span> = <span class="ruby-identifier">args</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">guards</span>
30
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">ys</span>)
31
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ex</span>
32
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">ex</span>
33
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">RushCheckGuard</span>
34
+ <span class="ruby-identifier">try</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
35
+ <span class="ruby-keyword kw">retry</span>
36
+ <span class="ruby-keyword kw">else</span>
37
+ <span class="ruby-identifier">raise</span>(<span class="ruby-identifier">ex</span>, <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">to_s</span>)
38
+ <span class="ruby-keyword kw">end</span>
39
+ <span class="ruby-keyword kw">end</span>
40
+ <span class="ruby-keyword kw">end</span>
18
41
  <span class="ruby-keyword kw">end</span></pre>
19
42
  </body>
20
43
  </html>
@@ -5,24 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>frequency (Gen)</title>
8
+ <title>elements (Gen)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 34</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">frequency</span>(<span class="ruby-identifier">xs</span>)
15
- <span class="ruby-identifier">tot</span> = <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">r</span>, <span class="ruby-identifier">pair</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>]}
16
- <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RuntimeError</span>, <span class="ruby-node">&quot;Illegal frequency:#{xs.inspect}&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tot</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
17
- <span class="ruby-identifier">choose</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">tot</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">bind</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
18
- <span class="ruby-identifier">m</span> = <span class="ruby-identifier">n</span>
19
- <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pair</span><span class="ruby-operator">|</span>
20
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>]
21
- <span class="ruby-keyword kw">then</span> <span class="ruby-keyword kw">break</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">1</span>]
22
- <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>]
23
- <span class="ruby-keyword kw">end</span>
24
- <span class="ruby-keyword kw">end</span>
25
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 57</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">elements</span>(<span class="ruby-identifier">xs</span>)
15
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RuntimeError</span>, <span class="ruby-value str">&quot;given argument is empty&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">empty?</span>
16
+
17
+ <span class="ruby-identifier">choose</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">fmap</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">xs</span>[<span class="ruby-identifier">i</span>] }
26
18
  <span class="ruby-keyword kw">end</span></pre>
27
19
  </body>
28
20
  </html>
@@ -5,20 +5,24 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>lift_array (Gen)</title>
8
+ <title>frequency (Gen)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 53</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">lift_array</span>(<span class="ruby-identifier">ary</span>)
15
- <span class="ruby-constant">Gen</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
16
- <span class="ruby-identifier">r2</span> = <span class="ruby-identifier">r</span>
17
- <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
18
- <span class="ruby-identifier">r1</span>, <span class="ruby-identifier">r2</span> = <span class="ruby-identifier">r</span>.<span class="ruby-identifier">split</span>
19
- <span class="ruby-keyword kw">yield</span>.<span class="ruby-identifier">value</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">r1</span>)
13
+ <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 71</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">frequency</span>(<span class="ruby-identifier">xs</span>)
15
+ <span class="ruby-identifier">tot</span> = <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">r</span>, <span class="ruby-identifier">pair</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>]}
16
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RuntimeError</span>, <span class="ruby-node">&quot;Illegal frequency:#{xs.inspect}&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tot</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
17
+ <span class="ruby-identifier">choose</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">tot</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">bind</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
18
+ <span class="ruby-identifier">m</span> = <span class="ruby-identifier">n</span>
19
+ <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pair</span><span class="ruby-operator">|</span>
20
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>]
21
+ <span class="ruby-keyword kw">then</span> <span class="ruby-keyword kw">break</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">1</span>]
22
+ <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">pair</span>[<span class="ruby-value">0</span>]
23
+ <span class="ruby-keyword kw">end</span>
20
24
  <span class="ruby-keyword kw">end</span>
21
- <span class="ruby-keyword kw">end</span>
25
+ <span class="ruby-keyword kw">end</span>
22
26
  <span class="ruby-keyword kw">end</span></pre>
23
27
  </body>
24
28
  </html>
@@ -5,14 +5,20 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>oneof (Gen)</title>
8
+ <title>lift_array (Gen)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 67</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">oneof</span>(<span class="ruby-identifier">gens</span>)
15
- <span class="ruby-identifier">elements</span>(<span class="ruby-identifier">gens</span>).<span class="ruby-identifier">bind</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>}
13
+ <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 90</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">lift_array</span>(<span class="ruby-identifier">xs</span>)
15
+ <span class="ruby-constant">Gen</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
16
+ <span class="ruby-identifier">r2</span> = <span class="ruby-identifier">r</span>
17
+ <span class="ruby-identifier">xs</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
18
+ <span class="ruby-identifier">r1</span>, <span class="ruby-identifier">r2</span> = <span class="ruby-identifier">r2</span>.<span class="ruby-identifier">split</span>
19
+ <span class="ruby-keyword kw">yield</span>.<span class="ruby-identifier">value</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">r1</span>)
20
+ <span class="ruby-keyword kw">end</span>
21
+ <span class="ruby-keyword kw">end</span>
16
22
  <span class="ruby-keyword kw">end</span></pre>
17
23
  </body>
18
24
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>promote (Gen)</title>
8
+ <title>oneof (Gen)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 77</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">promote</span>
15
- <span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">a</span>).<span class="ruby-identifier">value</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span>) } }
13
+ <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 104</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">oneof</span>(<span class="ruby-identifier">gens</span>)
15
+ <span class="ruby-identifier">elements</span>(<span class="ruby-identifier">gens</span>).<span class="ruby-identifier">bind</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>}
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>rand (Gen)</title>
8
+ <title>promote (Gen)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 83</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rand</span>
15
- <span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>}
13
+ <pre><span class="ruby-comment cmt"># File rushcheck/gen.rb, line 114</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">promote</span>
15
+ <span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">a</span>).<span class="ruby-identifier">value</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">r</span>) } }
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>