rushcheck 0.2 → 0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>