carats 0.3.0

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 (422) hide show
  1. data/ChangeLog +2 -0
  2. data/LICENSE +5 -0
  3. data/README +67 -0
  4. data/Reapfile +72 -0
  5. data/ToDo +24 -0
  6. data/bench/b_harray.rb +49 -0
  7. data/bench/b_range.rb +64 -0
  8. data/demo/ansicolor/cdiff.rb +20 -0
  9. data/demo/ansicolor/example.rb +82 -0
  10. data/demo/io-reactor/chatserver.rb +347 -0
  11. data/doc/classes/Array.html +172 -0
  12. data/doc/classes/BBCode.html +638 -0
  13. data/doc/classes/BinaryReader.html +675 -0
  14. data/doc/classes/Binding.html +223 -0
  15. data/doc/classes/ByteOrder.html +284 -0
  16. data/doc/classes/Class.html +189 -0
  17. data/doc/classes/Constant.html +785 -0
  18. data/doc/classes/Constant/CGS.html +609 -0
  19. data/doc/classes/Continuation.html +113 -0
  20. data/doc/classes/Coroutine.html +387 -0
  21. data/doc/classes/CountingSemaphore.html +337 -0
  22. data/doc/classes/CrossCase.html +561 -0
  23. data/doc/classes/DynamicMixin.html +185 -0
  24. data/doc/classes/EnumerableWithArgs.html +550 -0
  25. data/doc/classes/Expect.html +428 -0
  26. data/doc/classes/Expect/DefaultChain.html +113 -0
  27. data/doc/classes/Expect/SeparatedPattern.html +223 -0
  28. data/doc/classes/Expect/Timeout.html +167 -0
  29. data/doc/classes/Expect/UnmatchedMessage.html +160 -0
  30. data/doc/classes/FileList.html +833 -0
  31. data/doc/classes/FloatString.html +534 -0
  32. data/doc/classes/Functor.html +211 -0
  33. data/doc/classes/HArray.html +1872 -0
  34. data/doc/classes/HTML.html +328 -0
  35. data/doc/classes/Heap.html +683 -0
  36. data/doc/classes/Heap/EmptyHeapException.html +111 -0
  37. data/doc/classes/Heap/Max.html +176 -0
  38. data/doc/classes/Heap/Min.html +176 -0
  39. data/doc/classes/IO.html +108 -0
  40. data/doc/classes/IO/Reactor.html +790 -0
  41. data/doc/classes/IO/Redirect.html +289 -0
  42. data/doc/classes/Infinity.html +320 -0
  43. data/doc/classes/Interval.html +1014 -0
  44. data/doc/classes/InvalidNackError.html +161 -0
  45. data/doc/classes/Kernel.html +204 -0
  46. data/doc/classes/Lisp.html +1132 -0
  47. data/doc/classes/Lisp/DottedPair.html +379 -0
  48. data/doc/classes/Lisp/Format.html +178 -0
  49. data/doc/classes/Lisp/Format/ArgumentError.html +126 -0
  50. data/doc/classes/Lisp/Format/Directives.html +155 -0
  51. data/doc/classes/Lisp/Format/Directives/ArgJump.html +178 -0
  52. data/doc/classes/Lisp/Format/Directives/Ascii.html +119 -0
  53. data/doc/classes/Lisp/Format/Directives/BeginCaseConversion.html +185 -0
  54. data/doc/classes/Lisp/Format/Directives/BeginConditional.html +307 -0
  55. data/doc/classes/Lisp/Format/Directives/BeginIteration.html +338 -0
  56. data/doc/classes/Lisp/Format/Directives/Binary.html +157 -0
  57. data/doc/classes/Lisp/Format/Directives/Character.html +228 -0
  58. data/doc/classes/Lisp/Format/Directives/CharacterDirective.html +203 -0
  59. data/doc/classes/Lisp/Format/Directives/ClauseSeparator.html +166 -0
  60. data/doc/classes/Lisp/Format/Directives/Decimal.html +119 -0
  61. data/doc/classes/Lisp/Format/Directives/Directive.html +397 -0
  62. data/doc/classes/Lisp/Format/Directives/DollarFP.html +205 -0
  63. data/doc/classes/Lisp/Format/Directives/EndCaseConversion.html +174 -0
  64. data/doc/classes/Lisp/Format/Directives/EndConditional.html +159 -0
  65. data/doc/classes/Lisp/Format/Directives/EndIteration.html +163 -0
  66. data/doc/classes/Lisp/Format/Directives/ExpFP.html +252 -0
  67. data/doc/classes/Lisp/Format/Directives/FFFP.html +224 -0
  68. data/doc/classes/Lisp/Format/Directives/Factory.html +180 -0
  69. data/doc/classes/Lisp/Format/Directives/FreshLine.html +175 -0
  70. data/doc/classes/Lisp/Format/Directives/GeneralFP.html +265 -0
  71. data/doc/classes/Lisp/Format/Directives/Hexadecimal.html +157 -0
  72. data/doc/classes/Lisp/Format/Directives/Indirection.html +183 -0
  73. data/doc/classes/Lisp/Format/Directives/Literal.html +187 -0
  74. data/doc/classes/Lisp/Format/Directives/NewLine.html +158 -0
  75. data/doc/classes/Lisp/Format/Directives/NewPage.html +158 -0
  76. data/doc/classes/Lisp/Format/Directives/Number.html +243 -0
  77. data/doc/classes/Lisp/Format/Directives/Octal.html +157 -0
  78. data/doc/classes/Lisp/Format/Directives/Plural.html +177 -0
  79. data/doc/classes/Lisp/Format/Directives/Print.html +237 -0
  80. data/doc/classes/Lisp/Format/Directives/Radix.html +432 -0
  81. data/doc/classes/Lisp/Format/Directives/SExpression.html +157 -0
  82. data/doc/classes/Lisp/Format/Directives/SkipWhitespace.html +165 -0
  83. data/doc/classes/Lisp/Format/Directives/Tabulate.html +198 -0
  84. data/doc/classes/Lisp/Format/Directives/Tilde.html +158 -0
  85. data/doc/classes/Lisp/Format/Directives/UnknownDirectiveError.html +117 -0
  86. data/doc/classes/Lisp/Format/Formatter.html +193 -0
  87. data/doc/classes/Lisp/Format/IncompleteParameterError.html +119 -0
  88. data/doc/classes/Lisp/Format/IndexError.html +126 -0
  89. data/doc/classes/Lisp/Format/Lexer.html +479 -0
  90. data/doc/classes/Lisp/Format/MalformedError.html +119 -0
  91. data/doc/classes/Lisp/Format/MissingParameterError.html +119 -0
  92. data/doc/classes/Lisp/Format/ModifierError.html +119 -0
  93. data/doc/classes/Lisp/Format/Output.html +239 -0
  94. data/doc/classes/Lisp/Format/ParameterError.html +126 -0
  95. data/doc/classes/Lisp/Format/Parameters.html +123 -0
  96. data/doc/classes/Lisp/Format/Parameters/Argument.html +172 -0
  97. data/doc/classes/Lisp/Format/Parameters/ArgumentCount.html +159 -0
  98. data/doc/classes/Lisp/Format/Parameters/Character.html +119 -0
  99. data/doc/classes/Lisp/Format/Parameters/Default.html +120 -0
  100. data/doc/classes/Lisp/Format/Parameters/Integer.html +119 -0
  101. data/doc/classes/Lisp/Format/Parameters/Parameter.html +206 -0
  102. data/doc/classes/Lisp/Format/Parser.html +212 -0
  103. data/doc/classes/Lisp/Format/Positioned.html +166 -0
  104. data/doc/classes/Lisp/Format/State.html +455 -0
  105. data/doc/classes/Lisp/Format/SyntaxError.html +126 -0
  106. data/doc/classes/Method.html +274 -0
  107. data/doc/classes/Method/DuckHunter.html +281 -0
  108. data/doc/classes/Module.html +709 -0
  109. data/doc/classes/Multiton.html +284 -0
  110. data/doc/classes/Multiton/New.html +164 -0
  111. data/doc/classes/Multiton/Semi.html +155 -0
  112. data/doc/classes/NackClass.html +322 -0
  113. data/doc/classes/NilClass.html +231 -0
  114. data/doc/classes/NilComparable.html +179 -0
  115. data/doc/classes/NotCopyable.html +273 -0
  116. data/doc/classes/Object.html +261 -0
  117. data/doc/classes/OpenStructable.html +346 -0
  118. data/doc/classes/OrderedHash.html +939 -0
  119. data/doc/classes/Parser.html +515 -0
  120. data/doc/classes/Parser/Main.html +178 -0
  121. data/doc/classes/Parser/Marker.html +475 -0
  122. data/doc/classes/Parser/Registry.html +354 -0
  123. data/doc/classes/Parser/Token.html +399 -0
  124. data/doc/classes/Parser/UnitToken.html +222 -0
  125. data/doc/classes/Ref.html +230 -0
  126. data/doc/classes/SimpleStringIO.html +183 -0
  127. data/doc/classes/StaticHash.html +202 -0
  128. data/doc/classes/String.html +172 -0
  129. data/doc/classes/Struct.html +181 -0
  130. data/doc/classes/SuperStruct.html +382 -0
  131. data/doc/classes/Term.html +156 -0
  132. data/doc/classes/Term/ANSIColor.html +185 -0
  133. data/doc/classes/Text.html +138 -0
  134. data/doc/classes/Text/Soundex.html +222 -0
  135. data/doc/classes/TextTagIterator.html +911 -0
  136. data/doc/classes/Time.html +119 -0
  137. data/doc/classes/Time/Limit.html +303 -0
  138. data/doc/classes/Time/Limit/Dummy.html +181 -0
  139. data/doc/classes/Timer.html +351 -0
  140. data/doc/classes/TracePoint.html +532 -0
  141. data/doc/classes/Tuple.html +178 -0
  142. data/doc/classes/Uninheritable.html +213 -0
  143. data/doc/classes/Version.html +783 -0
  144. data/doc/created.rid +1 -0
  145. data/doc/files/LICENSE.html +113 -0
  146. data/doc/files/README.html +201 -0
  147. data/doc/files/lib/carat/1st_rb.html +107 -0
  148. data/doc/files/lib/carat/ansicolor_rb.html +146 -0
  149. data/doc/files/lib/carat/attr_rb.html +101 -0
  150. data/doc/files/lib/carat/bbcode_rb.html +152 -0
  151. data/doc/files/lib/carat/binaryreader_rb.html +114 -0
  152. data/doc/files/lib/carat/binding-of-caller_rb.html +108 -0
  153. data/doc/files/lib/carat/byteorder_rb.html +107 -0
  154. data/doc/files/lib/carat/constant_rb.html +167 -0
  155. data/doc/files/lib/carat/coroutine_rb.html +156 -0
  156. data/doc/files/lib/carat/crosscase_rb.html +224 -0
  157. data/doc/files/lib/carat/duckhunter_rb.html +165 -0
  158. data/doc/files/lib/carat/dynamic-mixin_rb.html +101 -0
  159. data/doc/files/lib/carat/enumerable-args_rb.html +140 -0
  160. data/doc/files/lib/carat/expect_rb.html +137 -0
  161. data/doc/files/lib/carat/filelist_rb.html +130 -0
  162. data/doc/files/lib/carat/floatstring_rb.html +126 -0
  163. data/doc/files/lib/carat/functor_rb.html +140 -0
  164. data/doc/files/lib/carat/harray_rb.html +128 -0
  165. data/doc/files/lib/carat/heap_rb.html +154 -0
  166. data/doc/files/lib/carat/html-helpers_rb.html +116 -0
  167. data/doc/files/lib/carat/infinity_rb.html +142 -0
  168. data/doc/files/lib/carat/init_rb.html +127 -0
  169. data/doc/files/lib/carat/interval_rb.html +162 -0
  170. data/doc/files/lib/carat/io-reactor_rb.html +211 -0
  171. data/doc/files/lib/carat/io-redirect_rb.html +132 -0
  172. data/doc/files/lib/carat/lisp-format_rb.html +187 -0
  173. data/doc/files/lib/carat/lisp_rb.html +152 -0
  174. data/doc/files/lib/carat/macro_rb.html +129 -0
  175. data/doc/files/lib/carat/multiton_rb.html +178 -0
  176. data/doc/files/lib/carat/nack_rb.html +193 -0
  177. data/doc/files/lib/carat/nil-comparable_rb.html +126 -0
  178. data/doc/files/lib/carat/nil-missing_rb.html +101 -0
  179. data/doc/files/lib/carat/notcopyable_rb.html +166 -0
  180. data/doc/files/lib/carat/orderedhash_rb.html +107 -0
  181. data/doc/files/lib/carat/ostructable_rb.html +157 -0
  182. data/doc/files/lib/carat/parser-old_rb.html +239 -0
  183. data/doc/files/lib/carat/parser_rb.html +244 -0
  184. data/doc/files/lib/carat/ref_rb.html +107 -0
  185. data/doc/files/lib/carat/semaphore_rb.html +132 -0
  186. data/doc/files/lib/carat/snapshot_rb.html +152 -0
  187. data/doc/files/lib/carat/soundex_rb.html +128 -0
  188. data/doc/files/lib/carat/sstruct_rb.html +142 -0
  189. data/doc/files/lib/carat/statichash_rb.html +150 -0
  190. data/doc/files/lib/carat/tagiter_rb.html +236 -0
  191. data/doc/files/lib/carat/timelimit_rb.html +136 -0
  192. data/doc/files/lib/carat/timer_rb.html +153 -0
  193. data/doc/files/lib/carat/tracepoint_rb.html +160 -0
  194. data/doc/files/lib/carat/tuple_rb.html +123 -0
  195. data/doc/files/lib/carat/uninheritable_rb.html +101 -0
  196. data/doc/files/lib/carat/version_rb.html +141 -0
  197. data/doc/fr_class_index.html +159 -0
  198. data/doc/fr_file_index.html +78 -0
  199. data/doc/fr_method_index.html +663 -0
  200. data/doc/index.html +24 -0
  201. data/doc/rdoc-style.css +208 -0
  202. data/lib/carat-dev/README +11 -0
  203. data/lib/carat-dev/access-blocks/access_blocks.rb +42 -0
  204. data/lib/carat-dev/association/association.rb +70 -0
  205. data/lib/carat-dev/blankslate/blankslate.rb +51 -0
  206. data/lib/carat-dev/breakpoint.rb +518 -0
  207. data/lib/carat-dev/class-constructor/constructor_methods.rb +78 -0
  208. data/lib/carat-dev/class-constructor/tc_constructor.rb +35 -0
  209. data/lib/carat-dev/closecall/closecall-test.rb +39 -0
  210. data/lib/carat-dev/closecall/closecall.rb +101 -0
  211. data/lib/carat-dev/commandrunner/commandrunner.rb +100 -0
  212. data/lib/carat-dev/conditional/conditionals.rb +106 -0
  213. data/lib/carat-dev/daemon/daemon.rb +70 -0
  214. data/lib/carat-dev/detach/detach.rb +363 -0
  215. data/lib/carat-dev/detach/tc_detach.rb +57 -0
  216. data/lib/carat-dev/import-module/import-module-0.81.tar.gz +0 -0
  217. data/lib/carat-dev/import-module/import-module-0.81/LICENSE +1 -0
  218. data/lib/carat-dev/import-module/import-module-0.81/Makefile +11 -0
  219. data/lib/carat-dev/import-module/import-module-0.81/README +4 -0
  220. data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-hash.rb +49 -0
  221. data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-pip.rb +71 -0
  222. data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-unbound-method.rb +36 -0
  223. data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.html +293 -0
  224. data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.rd +306 -0
  225. data/lib/carat-dev/import-module/import-module-0.81/doc/README.html +290 -0
  226. data/lib/carat-dev/import-module/import-module-0.81/doc/README.rd +303 -0
  227. data/lib/carat-dev/import-module/import-module-0.81/doc/style.css +85 -0
  228. data/lib/carat-dev/import-module/import-module-0.81/install.rb +99 -0
  229. data/lib/carat-dev/import-module/import-module-0.81/lib/import-module-single-thread.rb +84 -0
  230. data/lib/carat-dev/import-module/import-module-0.81/lib/import-module.rb +493 -0
  231. data/lib/carat-dev/import-module/import-module-0.81/test/Makefile +2 -0
  232. data/lib/carat-dev/import-module/import-module-0.81/test/test +91 -0
  233. data/lib/carat-dev/import-module/import-module-0.81/test/test-import-module.rb +936 -0
  234. data/lib/carat-dev/import-module/import-module-0.81/test/test-import_scope.rb +33 -0
  235. data/lib/carat-dev/import-module/import-module-0.81/test/test-scope_import.rb +33 -0
  236. data/lib/carat-dev/import-module/import-module-0.81/test/test-time.rb +184 -0
  237. data/lib/carat-dev/import-module/import-module-0.81/test/test.sh +91 -0
  238. data/lib/carat-dev/import-module/import-module-0.81/test/time.rb +135 -0
  239. data/lib/carat-dev/import-module/import-module-0.81/test/times-do.sh +10 -0
  240. data/lib/carat-dev/interface_work/SCRAP/i-contracts.rb +37 -0
  241. data/lib/carat-dev/interface_work/SCRAP/interface.rb +105 -0
  242. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0.zip +0 -0
  243. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/CHANGES +3 -0
  244. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/MANIFEST +15 -0
  245. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/README +32 -0
  246. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.rd +73 -0
  247. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.txt +94 -0
  248. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/install.rb +16 -0
  249. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/lib/interface.rb +50 -0
  250. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/tc_interface.rb +51 -0
  251. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test.rb +29 -0
  252. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_instance.rb +24 -0
  253. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_sub.rb +29 -0
  254. data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_unrequire.rb +28 -0
  255. data/lib/carat-dev/interface_work/contracts/contract.zip +0 -0
  256. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.html +376 -0
  257. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000001.html +23 -0
  258. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000002.html +18 -0
  259. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000003.html +19 -0
  260. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000004.html +29 -0
  261. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000005.html +18 -0
  262. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000006.html +18 -0
  263. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractError.html +142 -0
  264. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractException.html +153 -0
  265. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractMismatch.html +125 -0
  266. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.html +157 -0
  267. data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.src/M000007.html +112 -0
  268. data/lib/carat-dev/interface_work/contracts/contract/doc/created.rid +1 -0
  269. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/assertions_rb.html +109 -0
  270. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/exception_rb.html +108 -0
  271. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/integration_rb.html +108 -0
  272. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/overrides_rb.html +109 -0
  273. data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract_rb.html +114 -0
  274. data/lib/carat-dev/interface_work/contracts/contract/doc/fr_class_index.html +31 -0
  275. data/lib/carat-dev/interface_work/contracts/contract/doc/fr_file_index.html +31 -0
  276. data/lib/carat-dev/interface_work/contracts/contract/doc/fr_method_index.html +33 -0
  277. data/lib/carat-dev/interface_work/contracts/contract/doc/index.html +24 -0
  278. data/lib/carat-dev/interface_work/contracts/contract/doc/rdoc-style.css +208 -0
  279. data/lib/carat-dev/interface_work/contracts/contract/lib/contract.rb +88 -0
  280. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/assertions.rb +37 -0
  281. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/exception.rb +92 -0
  282. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/integration.rb +132 -0
  283. data/lib/carat-dev/interface_work/contracts/contract/lib/contract/overrides.rb +32 -0
  284. data/lib/carat-dev/interface_work/must.rb +37 -0
  285. data/lib/carat-dev/interface_work/type.rb +232 -0
  286. data/lib/carat-dev/main/tc_toplevel.rb +23 -0
  287. data/lib/carat-dev/main/toplevel.rb +33 -0
  288. data/lib/carat-dev/main/toplevel_test.rb +24 -0
  289. data/lib/carat-dev/misc/1.rb +40 -0
  290. data/lib/carat-dev/misc/misc.rb +44 -0
  291. data/lib/carat-dev/misc/sys.rb +186 -0
  292. data/lib/carat-dev/misc/temp.rb +1 -0
  293. data/lib/carat-dev/misc/utils.rb +518 -0
  294. data/lib/carat-dev/predicate/predicate.rb +109 -0
  295. data/lib/carat-dev/predicate/predicate_test.rb +67 -0
  296. data/lib/carat-dev/premshree.rb +40 -0
  297. data/lib/carat-dev/priority-queue/pqueue.rb +183 -0
  298. data/lib/carat-dev/priority-queue/priorityqueue.rb +84 -0
  299. data/lib/carat-dev/quaternion/quaternion.rb +529 -0
  300. data/lib/carat-dev/range.rb +259 -0
  301. data/lib/carat-dev/system/rubyinfo.rb +75 -0
  302. data/lib/carat-dev/system/system.rb +105 -0
  303. data/lib/carat-dev/tc_range.rb +118 -0
  304. data/lib/carat-dev/timer/timer-doc/classes/Timer.html +291 -0
  305. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000001.html +26 -0
  306. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000002.html +19 -0
  307. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000003.html +18 -0
  308. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000004.html +18 -0
  309. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000005.html +21 -0
  310. data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000006.html +23 -0
  311. data/lib/carat-dev/timer/timer-doc/created.rid +1 -0
  312. data/lib/carat-dev/timer/timer-doc/files/timer_rb.html +144 -0
  313. data/lib/carat-dev/timer/timer-doc/fr_class_index.html +27 -0
  314. data/lib/carat-dev/timer/timer-doc/fr_file_index.html +27 -0
  315. data/lib/carat-dev/timer/timer-doc/fr_method_index.html +32 -0
  316. data/lib/carat-dev/timer/timer-doc/index.html +24 -0
  317. data/lib/carat-dev/timer/timer-doc/rdoc-style.css +208 -0
  318. data/lib/carat-dev/timer/timer.rb +160 -0
  319. data/lib/carat-dev/vars/vars.rb +62 -0
  320. data/lib/carat/1st.rb +58 -0
  321. data/lib/carat/ansicolor.rb +122 -0
  322. data/lib/carat/attr.rb +342 -0
  323. data/lib/carat/bbcode.rb +352 -0
  324. data/lib/carat/binaryreader.rb +170 -0
  325. data/lib/carat/binding-of-caller.rb +83 -0
  326. data/lib/carat/byteorder.rb +34 -0
  327. data/lib/carat/constant.rb +287 -0
  328. data/lib/carat/coroutine.rb +102 -0
  329. data/lib/carat/crosscase.rb +309 -0
  330. data/lib/carat/duckhunter.rb +158 -0
  331. data/lib/carat/dynamic-mixin.rb +71 -0
  332. data/lib/carat/enumerable-args.rb +125 -0
  333. data/lib/carat/expect.rb +192 -0
  334. data/lib/carat/filelist.rb +277 -0
  335. data/lib/carat/floatstring.rb +153 -0
  336. data/lib/carat/functor.rb +41 -0
  337. data/lib/carat/harray.rb +507 -0
  338. data/lib/carat/heap.rb +193 -0
  339. data/lib/carat/html-helpers.rb +82 -0
  340. data/lib/carat/infinity.rb +61 -0
  341. data/lib/carat/init.rb +33 -0
  342. data/lib/carat/interval.rb +248 -0
  343. data/lib/carat/io-reactor.rb +657 -0
  344. data/lib/carat/io-redirect.rb +99 -0
  345. data/lib/carat/lisp-format.rb +1832 -0
  346. data/lib/carat/lisp.rb +336 -0
  347. data/lib/carat/macro.rb +68 -0
  348. data/lib/carat/multiton.rb +153 -0
  349. data/lib/carat/nack.rb +115 -0
  350. data/lib/carat/nil-comparable.rb +67 -0
  351. data/lib/carat/nil-missing.rb +12 -0
  352. data/lib/carat/notcopyable.rb +68 -0
  353. data/lib/carat/orderedhash.rb +249 -0
  354. data/lib/carat/ostructable.rb +138 -0
  355. data/lib/carat/parser-old.rb +350 -0
  356. data/lib/carat/parser.rb +393 -0
  357. data/lib/carat/ref.rb +31 -0
  358. data/lib/carat/semaphore.rb +69 -0
  359. data/lib/carat/snapshot.rb +94 -0
  360. data/lib/carat/soundex.rb +104 -0
  361. data/lib/carat/sstruct.rb +223 -0
  362. data/lib/carat/statichash.rb +49 -0
  363. data/lib/carat/tagiter.rb +345 -0
  364. data/lib/carat/timelimit.rb +114 -0
  365. data/lib/carat/timer.rb +99 -0
  366. data/lib/carat/tracepoint.rb +154 -0
  367. data/lib/carat/tuple.rb +31 -0
  368. data/lib/carat/uninheritable.rb +68 -0
  369. data/lib/carat/version.rb +147 -0
  370. data/pub/doc/sstruct.txt +204 -0
  371. data/pub/doc/tagiter.html +145 -0
  372. data/setup.rb +1361 -0
  373. data/test/fixtures/filelist/testfile.txt +1 -0
  374. data/test/fixtures/filelist/testfile2.txt +1 -0
  375. data/test/tc_1st.rb +16 -0
  376. data/test/tc_ansicolor.rb +23 -0
  377. data/test/tc_attr.rb +46 -0
  378. data/test/tc_bbcode.rb +20 -0
  379. data/test/tc_binaryreader.rb +14 -0
  380. data/test/tc_binding_of_caller.rb +2 -0
  381. data/test/tc_byteorder.rb +41 -0
  382. data/test/tc_constant.rb +12 -0
  383. data/test/tc_coroutine.rb +50 -0
  384. data/test/tc_crosscase.rb +33 -0
  385. data/test/tc_duckhunter.rb +37 -0
  386. data/test/tc_dynamic-mixin.rb +66 -0
  387. data/test/tc_enumerable-args.rb +66 -0
  388. data/test/tc_expect.rb +83 -0
  389. data/test/tc_filelist.rb +17 -0
  390. data/test/tc_floatstring.rb +22 -0
  391. data/test/tc_functor.rb +18 -0
  392. data/test/tc_harray.rb +280 -0
  393. data/test/tc_heap.rb +6 -0
  394. data/test/tc_infinity.rb +23 -0
  395. data/test/tc_init.rb +29 -0
  396. data/test/tc_interval.rb +153 -0
  397. data/test/tc_io-reactor.rb +5 -0
  398. data/test/tc_io-redirect.rb +5 -0
  399. data/test/tc_lisp-format.rb +24 -0
  400. data/test/tc_lisp.rb +32 -0
  401. data/test/tc_macro.rb +48 -0
  402. data/test/tc_multiton.rb +188 -0
  403. data/test/tc_nack.rb +31 -0
  404. data/test/tc_nil-as-emptiness.rb +19 -0
  405. data/test/tc_nil-comparable.rb +29 -0
  406. data/test/tc_nil-missing.rb +0 -0
  407. data/test/tc_notcopyable.rb +64 -0
  408. data/test/tc_orderedhash.rb +36 -0
  409. data/test/tc_ostructable.rb +31 -0
  410. data/test/tc_semaphore.rb +5 -0
  411. data/test/tc_snapshot.rb +20 -0
  412. data/test/tc_soundex.rb +19 -0
  413. data/test/tc_sstruct.rb +313 -0
  414. data/test/tc_statichash.rb +24 -0
  415. data/test/tc_tagiter.rb +80 -0
  416. data/test/tc_timelimit.rb +47 -0
  417. data/test/tc_timer.rb +35 -0
  418. data/test/tc_tracepoint.rb +10 -0
  419. data/test/tc_tuple.rb +25 -0
  420. data/test/tc_uninheritable.rb +33 -0
  421. data/test/tc_version.rb +90 -0
  422. metadata +531 -0
@@ -0,0 +1,185 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: DynamicMixin</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">DynamicMixin</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/carat/dynamic-mixin_rb.html">
59
+ lib/carat/dynamic-mixin.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+ <div id="method-list">
80
+ <h3 class="section-bar">Methods</h3>
81
+
82
+ <div class="name-list">
83
+ <a href="#M000587">[]</a>&nbsp;&nbsp;
84
+ <a href="#M000586">extended</a>&nbsp;&nbsp;
85
+ </div>
86
+ </div>
87
+
88
+ </div>
89
+
90
+
91
+ <!-- if includes -->
92
+
93
+ <div id="section">
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <!-- if method_list -->
103
+ <div id="methods">
104
+ <h3 class="section-bar">Public Class methods</h3>
105
+
106
+ <div id="method-M000586" class="method-detail">
107
+ <a name="M000586"></a>
108
+
109
+ <div class="method-heading">
110
+ <a href="#M000586" class="method-signature">
111
+ <span class="method-name">extended</span><span class="method-args">( mod )</span>
112
+ </a>
113
+ </div>
114
+
115
+ <div class="method-description">
116
+ <p><a class="source-toggle" href="#"
117
+ onclick="toggleCode('M000586-source');return false;">[Source]</a></p>
118
+ <div class="method-source-code" id="M000586-source">
119
+ <pre>
120
+ <span class="ruby-comment cmt"># File lib/carat/dynamic-mixin.rb, line 44</span>
121
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">extended</span>( <span class="ruby-identifier">mod</span> )
122
+ <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
123
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">:dynamic_options</span>) {
124
+ <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:default_options</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">default_options</span> <span class="ruby-operator">:</span> {}
125
+ }
126
+ <span class="ruby-keyword kw">end</span>
127
+ <span class="ruby-keyword kw">end</span>
128
+ </pre>
129
+ </div>
130
+ </div>
131
+ </div>
132
+
133
+ <h3 class="section-bar">Public Instance methods</h3>
134
+
135
+ <div id="method-M000587" class="method-detail">
136
+ <a name="M000587"></a>
137
+
138
+ <div class="method-heading">
139
+ <a href="#M000587" class="method-signature">
140
+ <span class="method-name">[]</span><span class="method-args">(options = {})</span>
141
+ </a>
142
+ </div>
143
+
144
+ <div class="method-description">
145
+ <p><a class="source-toggle" href="#"
146
+ onclick="toggleCode('M000587-source');return false;">[Source]</a></p>
147
+ <div class="method-source-code" id="M000587-source">
148
+ <pre>
149
+ <span class="ruby-comment cmt"># File lib/carat/dynamic-mixin.rb, line 52</span>
150
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">options</span> = {})
151
+ <span class="ruby-ivar">@cache</span> <span class="ruby-operator">||=</span> {} <span class="ruby-comment cmt"># Not really needed, but not much work either</span>
152
+
153
+ <span class="ruby-identifier">defaults</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">respond_to?</span>( <span class="ruby-identifier">:default_options</span> ) <span class="ruby-operator">?</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">default_options</span> <span class="ruby-operator">:</span> {}
154
+ <span class="ruby-identifier">options</span> = <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">options</span>)
155
+
156
+ <span class="ruby-identifier">mod</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>
157
+ <span class="ruby-identifier">opt_str</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">pair</span><span class="ruby-operator">|</span> <span class="ruby-identifier">pair</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; =&gt; &quot;</span>) }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;, &quot;</span>)
158
+ <span class="ruby-identifier">name</span> = <span class="ruby-node">&quot;#{self.name}[#{opt_str}]&quot;</span>
159
+
160
+ <span class="ruby-ivar">@cache</span>[<span class="ruby-identifier">options</span>] <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
161
+ <span class="ruby-ivar">@cache</span>[<span class="ruby-identifier">options</span>].<span class="ruby-identifier">class_eval</span> {
162
+ <span class="ruby-identifier">meta</span> = <span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>
163
+ <span class="ruby-identifier">meta</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">:define_method</span>, <span class="ruby-identifier">:name</span>) { <span class="ruby-identifier">name</span> }
164
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">:dynamic_options</span>) { <span class="ruby-identifier">options</span> }
165
+ }
166
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@cache</span>[<span class="ruby-identifier">options</span>]
167
+ <span class="ruby-keyword kw">end</span>
168
+ </pre>
169
+ </div>
170
+ </div>
171
+ </div>
172
+
173
+
174
+ </div>
175
+
176
+
177
+ </div>
178
+
179
+
180
+ <div id="validator-badges">
181
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
182
+ </div>
183
+
184
+ </body>
185
+ </html>
@@ -0,0 +1,550 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: EnumerableWithArgs</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">EnumerableWithArgs</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/carat/enumerable-args_rb.html">
59
+ lib/carat/enumerable-args.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <h1><a href="EnumerableWithArgs.html">EnumerableWithArgs</a></h1>
77
+ <p>
78
+ This is a simple reimplementation of the core Enumerable module to allow
79
+ the methods to take and pass-on arbitrary arguments to the underlying each
80
+ call.
81
+ </p>
82
+ <h2>Synopsis</h2>
83
+ <pre>
84
+ require 'carat/enumerable-args'
85
+
86
+ class T
87
+ include Enumerable
88
+ def initialize(arr)
89
+ @arr = arr
90
+ end
91
+ def each(n)
92
+ arr.each{ |e| yield(e+n) }
93
+ end
94
+ end
95
+
96
+ t = T.new([1,2,3])
97
+ t.collect(4)
98
+ #=&gt; [5,6,7]
99
+ </pre>
100
+ <h2>Note</h2>
101
+ <p>
102
+ The <a href="EnumerableWithArgs.html#M000408">sort</a> method still needs
103
+ to be done.
104
+ </p>
105
+ <h2>Legal</h2>
106
+ <pre>
107
+ Copyright (c) 2004 Thomas Sawyer, Pancakes License
108
+ </pre>
109
+ <h2>History</h2>
110
+ <pre>
111
+ $Id: enumerable.rb,v 1.0 2004/11/30 transami Exp $
112
+ </pre>
113
+
114
+ </div>
115
+
116
+
117
+ </div>
118
+
119
+ <div id="method-list">
120
+ <h3 class="section-bar">Methods</h3>
121
+
122
+ <div class="name-list">
123
+ <a href="#M000392">collect</a>&nbsp;&nbsp;
124
+ <a href="#M000394">detect</a>&nbsp;&nbsp;
125
+ <a href="#M000399">each_by</a>&nbsp;&nbsp;
126
+ <a href="#M000398">each_slice</a>&nbsp;&nbsp;
127
+ <a href="#M000397">entries</a>&nbsp;&nbsp;
128
+ <a href="#M000395">find</a>&nbsp;&nbsp;
129
+ <a href="#M000401">find_all</a>&nbsp;&nbsp;
130
+ <a href="#M000402">grep</a>&nbsp;&nbsp;
131
+ <a href="#M000403">include?</a>&nbsp;&nbsp;
132
+ <a href="#M000393">map</a>&nbsp;&nbsp;
133
+ <a href="#M000405">max</a>&nbsp;&nbsp;
134
+ <a href="#M000404">member?</a>&nbsp;&nbsp;
135
+ <a href="#M000406">min</a>&nbsp;&nbsp;
136
+ <a href="#M000407">reject</a>&nbsp;&nbsp;
137
+ <a href="#M000400">select</a>&nbsp;&nbsp;
138
+ <a href="#M000408">sort</a>&nbsp;&nbsp;
139
+ <a href="#M000396">to_a</a>&nbsp;&nbsp;
140
+ </div>
141
+ </div>
142
+
143
+ </div>
144
+
145
+
146
+ <!-- if includes -->
147
+
148
+ <div id="section">
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ <!-- if method_list -->
158
+ <div id="methods">
159
+ <h3 class="section-bar">Public Instance methods</h3>
160
+
161
+ <div id="method-M000392" class="method-detail">
162
+ <a name="M000392"></a>
163
+
164
+ <div class="method-heading">
165
+ <a href="#M000392" class="method-signature">
166
+ <span class="method-name">collect</span><span class="method-args">(*args) {|| ...}</span>
167
+ </a>
168
+ </div>
169
+
170
+ <div class="method-description">
171
+ <p><a class="source-toggle" href="#"
172
+ onclick="toggleCode('M000392-source');return false;">[Source]</a></p>
173
+ <div class="method-source-code" id="M000392-source">
174
+ <pre>
175
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 43</span>
176
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-comment cmt"># :yield:</span>
177
+ <span class="ruby-identifier">a</span> = []
178
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">n</span>) }
179
+ <span class="ruby-identifier">a</span>
180
+ <span class="ruby-keyword kw">end</span>
181
+ </pre>
182
+ </div>
183
+ </div>
184
+ </div>
185
+
186
+ <div id="method-M000394" class="method-detail">
187
+ <a name="M000394"></a>
188
+
189
+ <div class="method-heading">
190
+ <a href="#M000394" class="method-signature">
191
+ <span class="method-name">detect</span><span class="method-args">(*args) {|| ...}</span>
192
+ </a>
193
+ </div>
194
+
195
+ <div class="method-description">
196
+ <p><a class="source-toggle" href="#"
197
+ onclick="toggleCode('M000394-source');return false;">[Source]</a></p>
198
+ <div class="method-source-code" id="M000394-source">
199
+ <pre>
200
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 50</span>
201
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">detect</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-comment cmt"># :yield:</span>
202
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">n</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">n</span>) }
203
+ <span class="ruby-keyword kw">nil</span>
204
+ <span class="ruby-keyword kw">end</span>
205
+ </pre>
206
+ </div>
207
+ </div>
208
+ </div>
209
+
210
+ <div id="method-M000399" class="method-detail">
211
+ <a name="M000399"></a>
212
+
213
+ <div class="method-heading">
214
+ <span class="method-name">each_by</span><span class="method-args">(*args, &amp;yld)</span>
215
+ </div>
216
+
217
+ <div class="method-description">
218
+ <p>
219
+ Alias for <a href="EnumerableWithArgs.html#M000398">each_slice</a>
220
+ </p>
221
+ </div>
222
+ </div>
223
+
224
+ <div id="method-M000398" class="method-detail">
225
+ <a name="M000398"></a>
226
+
227
+ <div class="method-heading">
228
+ <a href="#M000398" class="method-signature">
229
+ <span class="method-name">each_slice</span><span class="method-args">(*args, &amp;yld)</span>
230
+ </a>
231
+ </div>
232
+
233
+ <div class="method-description">
234
+ <p>
235
+ An additional method not part of standard Enumerable. The regular version
236
+ of this method can be found in Facets, but it is a bit more advanced then
237
+ this one. At some point they need to be put into sync.
238
+ </p>
239
+ <p><a class="source-toggle" href="#"
240
+ onclick="toggleCode('M000398-source');return false;">[Source]</a></p>
241
+ <div class="method-source-code" id="M000398-source">
242
+ <pre>
243
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 74</span>
244
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_slice</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">yld</span>)
245
+ <span class="ruby-identifier">a</span> = []; <span class="ruby-identifier">s</span> = []
246
+ <span class="ruby-identifier">ar</span> = <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">arity</span>.<span class="ruby-identifier">abs</span>
247
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
248
+ <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">n</span>
249
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">ar</span>
250
+ <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">s</span>)
251
+ <span class="ruby-identifier">s</span> = []
252
+ <span class="ruby-keyword kw">end</span>
253
+ }
254
+ <span class="ruby-identifier">a</span>
255
+ <span class="ruby-keyword kw">end</span>
256
+ </pre>
257
+ </div>
258
+ </div>
259
+ </div>
260
+
261
+ <div id="method-M000397" class="method-detail">
262
+ <a name="M000397"></a>
263
+
264
+ <div class="method-heading">
265
+ <span class="method-name">entries</span><span class="method-args">(*args)</span>
266
+ </div>
267
+
268
+ <div class="method-description">
269
+ <p>
270
+ Alias for <a href="EnumerableWithArgs.html#M000396">to_a</a>
271
+ </p>
272
+ </div>
273
+ </div>
274
+
275
+ <div id="method-M000395" class="method-detail">
276
+ <a name="M000395"></a>
277
+
278
+ <div class="method-heading">
279
+ <span class="method-name">find</span><span class="method-args">(*args)</span>
280
+ </div>
281
+
282
+ <div class="method-description">
283
+ <p>
284
+ Alias for <a href="EnumerableWithArgs.html#M000394">detect</a>
285
+ </p>
286
+ </div>
287
+ </div>
288
+
289
+ <div id="method-M000401" class="method-detail">
290
+ <a name="M000401"></a>
291
+
292
+ <div class="method-heading">
293
+ <span class="method-name">find_all</span><span class="method-args">(*args)</span>
294
+ </div>
295
+
296
+ <div class="method-description">
297
+ <p>
298
+ Alias for <a href="EnumerableWithArgs.html#M000400">select</a>
299
+ </p>
300
+ </div>
301
+ </div>
302
+
303
+ <div id="method-M000402" class="method-detail">
304
+ <a name="M000402"></a>
305
+
306
+ <div class="method-heading">
307
+ <a href="#M000402" class="method-signature">
308
+ <span class="method-name">grep</span><span class="method-args">(pattern, *args) {|n| ...}</span>
309
+ </a>
310
+ </div>
311
+
312
+ <div class="method-description">
313
+ <p><a class="source-toggle" href="#"
314
+ onclick="toggleCode('M000402-source');return false;">[Source]</a></p>
315
+ <div class="method-source-code" id="M000402-source">
316
+ <pre>
317
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 95</span>
318
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">grep</span>(<span class="ruby-identifier">pattern</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
319
+ <span class="ruby-identifier">a</span> = []
320
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">block_given?</span> <span class="ruby-value">? </span><span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">n</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">n</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pattern</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">n</span> }
321
+ <span class="ruby-identifier">a</span>
322
+ <span class="ruby-keyword kw">end</span>
323
+ </pre>
324
+ </div>
325
+ </div>
326
+ </div>
327
+
328
+ <div id="method-M000403" class="method-detail">
329
+ <a name="M000403"></a>
330
+
331
+ <div class="method-heading">
332
+ <a href="#M000403" class="method-signature">
333
+ <span class="method-name">include?</span><span class="method-args">(anObj, *args)</span>
334
+ </a>
335
+ </div>
336
+
337
+ <div class="method-description">
338
+ <p><a class="source-toggle" href="#"
339
+ onclick="toggleCode('M000403-source');return false;">[Source]</a></p>
340
+ <div class="method-source-code" id="M000403-source">
341
+ <pre>
342
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 101</span>
343
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include?</span>(<span class="ruby-identifier">anObj</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
344
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">anObj</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">n</span> }
345
+ <span class="ruby-keyword kw">false</span>
346
+ <span class="ruby-keyword kw">end</span>
347
+ </pre>
348
+ </div>
349
+ </div>
350
+ </div>
351
+
352
+ <div id="method-M000393" class="method-detail">
353
+ <a name="M000393"></a>
354
+
355
+ <div class="method-heading">
356
+ <span class="method-name">map</span><span class="method-args">(*args)</span>
357
+ </div>
358
+
359
+ <div class="method-description">
360
+ <p>
361
+ Alias for <a href="EnumerableWithArgs.html#M000392">collect</a>
362
+ </p>
363
+ </div>
364
+ </div>
365
+
366
+ <div id="method-M000405" class="method-detail">
367
+ <a name="M000405"></a>
368
+
369
+ <div class="method-heading">
370
+ <a href="#M000405" class="method-signature">
371
+ <span class="method-name">max</span><span class="method-args">(*args)</span>
372
+ </a>
373
+ </div>
374
+
375
+ <div class="method-description">
376
+ <p><a class="source-toggle" href="#"
377
+ onclick="toggleCode('M000405-source');return false;">[Source]</a></p>
378
+ <div class="method-source-code" id="M000405-source">
379
+ <pre>
380
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 107</span>
381
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">max</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
382
+ <span class="ruby-identifier">to_a</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>).<span class="ruby-identifier">max</span>
383
+ <span class="ruby-keyword kw">end</span>
384
+ </pre>
385
+ </div>
386
+ </div>
387
+ </div>
388
+
389
+ <div id="method-M000404" class="method-detail">
390
+ <a name="M000404"></a>
391
+
392
+ <div class="method-heading">
393
+ <span class="method-name">member?</span><span class="method-args">(anObj, *args)</span>
394
+ </div>
395
+
396
+ <div class="method-description">
397
+ <p>
398
+ Alias for <a href="EnumerableWithArgs.html#M000403">include?</a>
399
+ </p>
400
+ </div>
401
+ </div>
402
+
403
+ <div id="method-M000406" class="method-detail">
404
+ <a name="M000406"></a>
405
+
406
+ <div class="method-heading">
407
+ <a href="#M000406" class="method-signature">
408
+ <span class="method-name">min</span><span class="method-args">(*args)</span>
409
+ </a>
410
+ </div>
411
+
412
+ <div class="method-description">
413
+ <p><a class="source-toggle" href="#"
414
+ onclick="toggleCode('M000406-source');return false;">[Source]</a></p>
415
+ <div class="method-source-code" id="M000406-source">
416
+ <pre>
417
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 111</span>
418
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">min</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
419
+ <span class="ruby-identifier">to_a</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>).<span class="ruby-identifier">min</span>
420
+ <span class="ruby-keyword kw">end</span>
421
+ </pre>
422
+ </div>
423
+ </div>
424
+ </div>
425
+
426
+ <div id="method-M000407" class="method-detail">
427
+ <a name="M000407"></a>
428
+
429
+ <div class="method-heading">
430
+ <a href="#M000407" class="method-signature">
431
+ <span class="method-name">reject</span><span class="method-args">(*args) {|n| ...}</span>
432
+ </a>
433
+ </div>
434
+
435
+ <div class="method-description">
436
+ <p><a class="source-toggle" href="#"
437
+ onclick="toggleCode('M000407-source');return false;">[Source]</a></p>
438
+ <div class="method-source-code" id="M000407-source">
439
+ <pre>
440
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 115</span>
441
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reject</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
442
+ <span class="ruby-identifier">a</span> = []
443
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">n</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">n</span>) }
444
+ <span class="ruby-identifier">a</span>
445
+ <span class="ruby-keyword kw">end</span>
446
+ </pre>
447
+ </div>
448
+ </div>
449
+ </div>
450
+
451
+ <div id="method-M000400" class="method-detail">
452
+ <a name="M000400"></a>
453
+
454
+ <div class="method-heading">
455
+ <a href="#M000400" class="method-signature">
456
+ <span class="method-name">select</span><span class="method-args">(*args) {|| ...}</span>
457
+ </a>
458
+ </div>
459
+
460
+ <div class="method-description">
461
+ <p><a class="source-toggle" href="#"
462
+ onclick="toggleCode('M000400-source');return false;">[Source]</a></p>
463
+ <div class="method-source-code" id="M000400-source">
464
+ <pre>
465
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 88</span>
466
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-comment cmt"># :yield:</span>
467
+ <span class="ruby-identifier">a</span> = []
468
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">n</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">n</span>) }
469
+ <span class="ruby-identifier">a</span>
470
+ <span class="ruby-keyword kw">end</span>
471
+ </pre>
472
+ </div>
473
+ </div>
474
+ </div>
475
+
476
+ <div id="method-M000408" class="method-detail">
477
+ <a name="M000408"></a>
478
+
479
+ <div class="method-heading">
480
+ <a href="#M000408" class="method-signature">
481
+ <span class="method-name">sort</span><span class="method-args">(*args)</span>
482
+ </a>
483
+ </div>
484
+
485
+ <div class="method-description">
486
+ <p><a class="source-toggle" href="#"
487
+ onclick="toggleCode('M000408-source');return false;">[Source]</a></p>
488
+ <div class="method-source-code" id="M000408-source">
489
+ <pre>
490
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 121</span>
491
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sort</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
492
+ <span class="ruby-comment cmt"># TODO</span>
493
+ <span class="ruby-keyword kw">end</span>
494
+ </pre>
495
+ </div>
496
+ </div>
497
+ </div>
498
+
499
+ <div id="method-M000396" class="method-detail">
500
+ <a name="M000396"></a>
501
+
502
+ <div class="method-heading">
503
+ <a href="#M000396" class="method-signature">
504
+ <span class="method-name">to_a</span><span class="method-args">(*args)</span>
505
+ </a>
506
+ </div>
507
+
508
+ <div class="method-description">
509
+ <pre>
510
+ problematic for multiple arity on block
511
+ </pre>
512
+ <p>
513
+ def each_with_index(*args)
514
+ </p>
515
+ <pre>
516
+ i=0
517
+ each(*args){ |n,i| yield(n); i+=1 }
518
+ self
519
+ </pre>
520
+ <p>
521
+ end
522
+ </p>
523
+ <p><a class="source-toggle" href="#"
524
+ onclick="toggleCode('M000396-source');return false;">[Source]</a></p>
525
+ <div class="method-source-code" id="M000396-source">
526
+ <pre>
527
+ <span class="ruby-comment cmt"># File lib/carat/enumerable-args.rb, line 63</span>
528
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_a</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
529
+ <span class="ruby-identifier">a</span> = []
530
+ <span class="ruby-identifier">each</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">n</span> }
531
+ <span class="ruby-identifier">a</span>
532
+ <span class="ruby-keyword kw">end</span>
533
+ </pre>
534
+ </div>
535
+ </div>
536
+ </div>
537
+
538
+
539
+ </div>
540
+
541
+
542
+ </div>
543
+
544
+
545
+ <div id="validator-badges">
546
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
547
+ </div>
548
+
549
+ </body>
550
+ </html>