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.
- data/ChangeLog +2 -0
- data/LICENSE +5 -0
- data/README +67 -0
- data/Reapfile +72 -0
- data/ToDo +24 -0
- data/bench/b_harray.rb +49 -0
- data/bench/b_range.rb +64 -0
- data/demo/ansicolor/cdiff.rb +20 -0
- data/demo/ansicolor/example.rb +82 -0
- data/demo/io-reactor/chatserver.rb +347 -0
- data/doc/classes/Array.html +172 -0
- data/doc/classes/BBCode.html +638 -0
- data/doc/classes/BinaryReader.html +675 -0
- data/doc/classes/Binding.html +223 -0
- data/doc/classes/ByteOrder.html +284 -0
- data/doc/classes/Class.html +189 -0
- data/doc/classes/Constant.html +785 -0
- data/doc/classes/Constant/CGS.html +609 -0
- data/doc/classes/Continuation.html +113 -0
- data/doc/classes/Coroutine.html +387 -0
- data/doc/classes/CountingSemaphore.html +337 -0
- data/doc/classes/CrossCase.html +561 -0
- data/doc/classes/DynamicMixin.html +185 -0
- data/doc/classes/EnumerableWithArgs.html +550 -0
- data/doc/classes/Expect.html +428 -0
- data/doc/classes/Expect/DefaultChain.html +113 -0
- data/doc/classes/Expect/SeparatedPattern.html +223 -0
- data/doc/classes/Expect/Timeout.html +167 -0
- data/doc/classes/Expect/UnmatchedMessage.html +160 -0
- data/doc/classes/FileList.html +833 -0
- data/doc/classes/FloatString.html +534 -0
- data/doc/classes/Functor.html +211 -0
- data/doc/classes/HArray.html +1872 -0
- data/doc/classes/HTML.html +328 -0
- data/doc/classes/Heap.html +683 -0
- data/doc/classes/Heap/EmptyHeapException.html +111 -0
- data/doc/classes/Heap/Max.html +176 -0
- data/doc/classes/Heap/Min.html +176 -0
- data/doc/classes/IO.html +108 -0
- data/doc/classes/IO/Reactor.html +790 -0
- data/doc/classes/IO/Redirect.html +289 -0
- data/doc/classes/Infinity.html +320 -0
- data/doc/classes/Interval.html +1014 -0
- data/doc/classes/InvalidNackError.html +161 -0
- data/doc/classes/Kernel.html +204 -0
- data/doc/classes/Lisp.html +1132 -0
- data/doc/classes/Lisp/DottedPair.html +379 -0
- data/doc/classes/Lisp/Format.html +178 -0
- data/doc/classes/Lisp/Format/ArgumentError.html +126 -0
- data/doc/classes/Lisp/Format/Directives.html +155 -0
- data/doc/classes/Lisp/Format/Directives/ArgJump.html +178 -0
- data/doc/classes/Lisp/Format/Directives/Ascii.html +119 -0
- data/doc/classes/Lisp/Format/Directives/BeginCaseConversion.html +185 -0
- data/doc/classes/Lisp/Format/Directives/BeginConditional.html +307 -0
- data/doc/classes/Lisp/Format/Directives/BeginIteration.html +338 -0
- data/doc/classes/Lisp/Format/Directives/Binary.html +157 -0
- data/doc/classes/Lisp/Format/Directives/Character.html +228 -0
- data/doc/classes/Lisp/Format/Directives/CharacterDirective.html +203 -0
- data/doc/classes/Lisp/Format/Directives/ClauseSeparator.html +166 -0
- data/doc/classes/Lisp/Format/Directives/Decimal.html +119 -0
- data/doc/classes/Lisp/Format/Directives/Directive.html +397 -0
- data/doc/classes/Lisp/Format/Directives/DollarFP.html +205 -0
- data/doc/classes/Lisp/Format/Directives/EndCaseConversion.html +174 -0
- data/doc/classes/Lisp/Format/Directives/EndConditional.html +159 -0
- data/doc/classes/Lisp/Format/Directives/EndIteration.html +163 -0
- data/doc/classes/Lisp/Format/Directives/ExpFP.html +252 -0
- data/doc/classes/Lisp/Format/Directives/FFFP.html +224 -0
- data/doc/classes/Lisp/Format/Directives/Factory.html +180 -0
- data/doc/classes/Lisp/Format/Directives/FreshLine.html +175 -0
- data/doc/classes/Lisp/Format/Directives/GeneralFP.html +265 -0
- data/doc/classes/Lisp/Format/Directives/Hexadecimal.html +157 -0
- data/doc/classes/Lisp/Format/Directives/Indirection.html +183 -0
- data/doc/classes/Lisp/Format/Directives/Literal.html +187 -0
- data/doc/classes/Lisp/Format/Directives/NewLine.html +158 -0
- data/doc/classes/Lisp/Format/Directives/NewPage.html +158 -0
- data/doc/classes/Lisp/Format/Directives/Number.html +243 -0
- data/doc/classes/Lisp/Format/Directives/Octal.html +157 -0
- data/doc/classes/Lisp/Format/Directives/Plural.html +177 -0
- data/doc/classes/Lisp/Format/Directives/Print.html +237 -0
- data/doc/classes/Lisp/Format/Directives/Radix.html +432 -0
- data/doc/classes/Lisp/Format/Directives/SExpression.html +157 -0
- data/doc/classes/Lisp/Format/Directives/SkipWhitespace.html +165 -0
- data/doc/classes/Lisp/Format/Directives/Tabulate.html +198 -0
- data/doc/classes/Lisp/Format/Directives/Tilde.html +158 -0
- data/doc/classes/Lisp/Format/Directives/UnknownDirectiveError.html +117 -0
- data/doc/classes/Lisp/Format/Formatter.html +193 -0
- data/doc/classes/Lisp/Format/IncompleteParameterError.html +119 -0
- data/doc/classes/Lisp/Format/IndexError.html +126 -0
- data/doc/classes/Lisp/Format/Lexer.html +479 -0
- data/doc/classes/Lisp/Format/MalformedError.html +119 -0
- data/doc/classes/Lisp/Format/MissingParameterError.html +119 -0
- data/doc/classes/Lisp/Format/ModifierError.html +119 -0
- data/doc/classes/Lisp/Format/Output.html +239 -0
- data/doc/classes/Lisp/Format/ParameterError.html +126 -0
- data/doc/classes/Lisp/Format/Parameters.html +123 -0
- data/doc/classes/Lisp/Format/Parameters/Argument.html +172 -0
- data/doc/classes/Lisp/Format/Parameters/ArgumentCount.html +159 -0
- data/doc/classes/Lisp/Format/Parameters/Character.html +119 -0
- data/doc/classes/Lisp/Format/Parameters/Default.html +120 -0
- data/doc/classes/Lisp/Format/Parameters/Integer.html +119 -0
- data/doc/classes/Lisp/Format/Parameters/Parameter.html +206 -0
- data/doc/classes/Lisp/Format/Parser.html +212 -0
- data/doc/classes/Lisp/Format/Positioned.html +166 -0
- data/doc/classes/Lisp/Format/State.html +455 -0
- data/doc/classes/Lisp/Format/SyntaxError.html +126 -0
- data/doc/classes/Method.html +274 -0
- data/doc/classes/Method/DuckHunter.html +281 -0
- data/doc/classes/Module.html +709 -0
- data/doc/classes/Multiton.html +284 -0
- data/doc/classes/Multiton/New.html +164 -0
- data/doc/classes/Multiton/Semi.html +155 -0
- data/doc/classes/NackClass.html +322 -0
- data/doc/classes/NilClass.html +231 -0
- data/doc/classes/NilComparable.html +179 -0
- data/doc/classes/NotCopyable.html +273 -0
- data/doc/classes/Object.html +261 -0
- data/doc/classes/OpenStructable.html +346 -0
- data/doc/classes/OrderedHash.html +939 -0
- data/doc/classes/Parser.html +515 -0
- data/doc/classes/Parser/Main.html +178 -0
- data/doc/classes/Parser/Marker.html +475 -0
- data/doc/classes/Parser/Registry.html +354 -0
- data/doc/classes/Parser/Token.html +399 -0
- data/doc/classes/Parser/UnitToken.html +222 -0
- data/doc/classes/Ref.html +230 -0
- data/doc/classes/SimpleStringIO.html +183 -0
- data/doc/classes/StaticHash.html +202 -0
- data/doc/classes/String.html +172 -0
- data/doc/classes/Struct.html +181 -0
- data/doc/classes/SuperStruct.html +382 -0
- data/doc/classes/Term.html +156 -0
- data/doc/classes/Term/ANSIColor.html +185 -0
- data/doc/classes/Text.html +138 -0
- data/doc/classes/Text/Soundex.html +222 -0
- data/doc/classes/TextTagIterator.html +911 -0
- data/doc/classes/Time.html +119 -0
- data/doc/classes/Time/Limit.html +303 -0
- data/doc/classes/Time/Limit/Dummy.html +181 -0
- data/doc/classes/Timer.html +351 -0
- data/doc/classes/TracePoint.html +532 -0
- data/doc/classes/Tuple.html +178 -0
- data/doc/classes/Uninheritable.html +213 -0
- data/doc/classes/Version.html +783 -0
- data/doc/created.rid +1 -0
- data/doc/files/LICENSE.html +113 -0
- data/doc/files/README.html +201 -0
- data/doc/files/lib/carat/1st_rb.html +107 -0
- data/doc/files/lib/carat/ansicolor_rb.html +146 -0
- data/doc/files/lib/carat/attr_rb.html +101 -0
- data/doc/files/lib/carat/bbcode_rb.html +152 -0
- data/doc/files/lib/carat/binaryreader_rb.html +114 -0
- data/doc/files/lib/carat/binding-of-caller_rb.html +108 -0
- data/doc/files/lib/carat/byteorder_rb.html +107 -0
- data/doc/files/lib/carat/constant_rb.html +167 -0
- data/doc/files/lib/carat/coroutine_rb.html +156 -0
- data/doc/files/lib/carat/crosscase_rb.html +224 -0
- data/doc/files/lib/carat/duckhunter_rb.html +165 -0
- data/doc/files/lib/carat/dynamic-mixin_rb.html +101 -0
- data/doc/files/lib/carat/enumerable-args_rb.html +140 -0
- data/doc/files/lib/carat/expect_rb.html +137 -0
- data/doc/files/lib/carat/filelist_rb.html +130 -0
- data/doc/files/lib/carat/floatstring_rb.html +126 -0
- data/doc/files/lib/carat/functor_rb.html +140 -0
- data/doc/files/lib/carat/harray_rb.html +128 -0
- data/doc/files/lib/carat/heap_rb.html +154 -0
- data/doc/files/lib/carat/html-helpers_rb.html +116 -0
- data/doc/files/lib/carat/infinity_rb.html +142 -0
- data/doc/files/lib/carat/init_rb.html +127 -0
- data/doc/files/lib/carat/interval_rb.html +162 -0
- data/doc/files/lib/carat/io-reactor_rb.html +211 -0
- data/doc/files/lib/carat/io-redirect_rb.html +132 -0
- data/doc/files/lib/carat/lisp-format_rb.html +187 -0
- data/doc/files/lib/carat/lisp_rb.html +152 -0
- data/doc/files/lib/carat/macro_rb.html +129 -0
- data/doc/files/lib/carat/multiton_rb.html +178 -0
- data/doc/files/lib/carat/nack_rb.html +193 -0
- data/doc/files/lib/carat/nil-comparable_rb.html +126 -0
- data/doc/files/lib/carat/nil-missing_rb.html +101 -0
- data/doc/files/lib/carat/notcopyable_rb.html +166 -0
- data/doc/files/lib/carat/orderedhash_rb.html +107 -0
- data/doc/files/lib/carat/ostructable_rb.html +157 -0
- data/doc/files/lib/carat/parser-old_rb.html +239 -0
- data/doc/files/lib/carat/parser_rb.html +244 -0
- data/doc/files/lib/carat/ref_rb.html +107 -0
- data/doc/files/lib/carat/semaphore_rb.html +132 -0
- data/doc/files/lib/carat/snapshot_rb.html +152 -0
- data/doc/files/lib/carat/soundex_rb.html +128 -0
- data/doc/files/lib/carat/sstruct_rb.html +142 -0
- data/doc/files/lib/carat/statichash_rb.html +150 -0
- data/doc/files/lib/carat/tagiter_rb.html +236 -0
- data/doc/files/lib/carat/timelimit_rb.html +136 -0
- data/doc/files/lib/carat/timer_rb.html +153 -0
- data/doc/files/lib/carat/tracepoint_rb.html +160 -0
- data/doc/files/lib/carat/tuple_rb.html +123 -0
- data/doc/files/lib/carat/uninheritable_rb.html +101 -0
- data/doc/files/lib/carat/version_rb.html +141 -0
- data/doc/fr_class_index.html +159 -0
- data/doc/fr_file_index.html +78 -0
- data/doc/fr_method_index.html +663 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/carat-dev/README +11 -0
- data/lib/carat-dev/access-blocks/access_blocks.rb +42 -0
- data/lib/carat-dev/association/association.rb +70 -0
- data/lib/carat-dev/blankslate/blankslate.rb +51 -0
- data/lib/carat-dev/breakpoint.rb +518 -0
- data/lib/carat-dev/class-constructor/constructor_methods.rb +78 -0
- data/lib/carat-dev/class-constructor/tc_constructor.rb +35 -0
- data/lib/carat-dev/closecall/closecall-test.rb +39 -0
- data/lib/carat-dev/closecall/closecall.rb +101 -0
- data/lib/carat-dev/commandrunner/commandrunner.rb +100 -0
- data/lib/carat-dev/conditional/conditionals.rb +106 -0
- data/lib/carat-dev/daemon/daemon.rb +70 -0
- data/lib/carat-dev/detach/detach.rb +363 -0
- data/lib/carat-dev/detach/tc_detach.rb +57 -0
- data/lib/carat-dev/import-module/import-module-0.81.tar.gz +0 -0
- data/lib/carat-dev/import-module/import-module-0.81/LICENSE +1 -0
- data/lib/carat-dev/import-module/import-module-0.81/Makefile +11 -0
- data/lib/carat-dev/import-module/import-module-0.81/README +4 -0
- data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-hash.rb +49 -0
- data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-pip.rb +71 -0
- data/lib/carat-dev/import-module/import-module-0.81/dev-lib/import-module-unbound-method.rb +36 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.html +293 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README-ja.rd +306 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README.html +290 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/README.rd +303 -0
- data/lib/carat-dev/import-module/import-module-0.81/doc/style.css +85 -0
- data/lib/carat-dev/import-module/import-module-0.81/install.rb +99 -0
- data/lib/carat-dev/import-module/import-module-0.81/lib/import-module-single-thread.rb +84 -0
- data/lib/carat-dev/import-module/import-module-0.81/lib/import-module.rb +493 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/Makefile +2 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test +91 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-import-module.rb +936 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-import_scope.rb +33 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-scope_import.rb +33 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test-time.rb +184 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/test.sh +91 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/time.rb +135 -0
- data/lib/carat-dev/import-module/import-module-0.81/test/times-do.sh +10 -0
- data/lib/carat-dev/interface_work/SCRAP/i-contracts.rb +37 -0
- data/lib/carat-dev/interface_work/SCRAP/interface.rb +105 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0.zip +0 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/CHANGES +3 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/MANIFEST +15 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/README +32 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.rd +73 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/doc/interface.txt +94 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/install.rb +16 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/lib/interface.rb +50 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/tc_interface.rb +51 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test.rb +29 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_instance.rb +24 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_sub.rb +29 -0
- data/lib/carat-dev/interface_work/SCRAP/j-interface/interface-0.1.0/test/test_unrequire.rb +28 -0
- data/lib/carat-dev/interface_work/contracts/contract.zip +0 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.html +376 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000001.html +23 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000002.html +18 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000003.html +19 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000004.html +29 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000005.html +18 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract.src/M000006.html +18 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractError.html +142 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractException.html +153 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Contract/ContractMismatch.html +125 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.html +157 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/classes/Module.src/M000007.html +112 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/created.rid +1 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/assertions_rb.html +109 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/exception_rb.html +108 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/integration_rb.html +108 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract/overrides_rb.html +109 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/files/lib/contract_rb.html +114 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/fr_class_index.html +31 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/fr_file_index.html +31 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/fr_method_index.html +33 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/index.html +24 -0
- data/lib/carat-dev/interface_work/contracts/contract/doc/rdoc-style.css +208 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract.rb +88 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/assertions.rb +37 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/exception.rb +92 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/integration.rb +132 -0
- data/lib/carat-dev/interface_work/contracts/contract/lib/contract/overrides.rb +32 -0
- data/lib/carat-dev/interface_work/must.rb +37 -0
- data/lib/carat-dev/interface_work/type.rb +232 -0
- data/lib/carat-dev/main/tc_toplevel.rb +23 -0
- data/lib/carat-dev/main/toplevel.rb +33 -0
- data/lib/carat-dev/main/toplevel_test.rb +24 -0
- data/lib/carat-dev/misc/1.rb +40 -0
- data/lib/carat-dev/misc/misc.rb +44 -0
- data/lib/carat-dev/misc/sys.rb +186 -0
- data/lib/carat-dev/misc/temp.rb +1 -0
- data/lib/carat-dev/misc/utils.rb +518 -0
- data/lib/carat-dev/predicate/predicate.rb +109 -0
- data/lib/carat-dev/predicate/predicate_test.rb +67 -0
- data/lib/carat-dev/premshree.rb +40 -0
- data/lib/carat-dev/priority-queue/pqueue.rb +183 -0
- data/lib/carat-dev/priority-queue/priorityqueue.rb +84 -0
- data/lib/carat-dev/quaternion/quaternion.rb +529 -0
- data/lib/carat-dev/range.rb +259 -0
- data/lib/carat-dev/system/rubyinfo.rb +75 -0
- data/lib/carat-dev/system/system.rb +105 -0
- data/lib/carat-dev/tc_range.rb +118 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.html +291 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000001.html +26 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000002.html +19 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000003.html +18 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000004.html +18 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000005.html +21 -0
- data/lib/carat-dev/timer/timer-doc/classes/Timer.src/M000006.html +23 -0
- data/lib/carat-dev/timer/timer-doc/created.rid +1 -0
- data/lib/carat-dev/timer/timer-doc/files/timer_rb.html +144 -0
- data/lib/carat-dev/timer/timer-doc/fr_class_index.html +27 -0
- data/lib/carat-dev/timer/timer-doc/fr_file_index.html +27 -0
- data/lib/carat-dev/timer/timer-doc/fr_method_index.html +32 -0
- data/lib/carat-dev/timer/timer-doc/index.html +24 -0
- data/lib/carat-dev/timer/timer-doc/rdoc-style.css +208 -0
- data/lib/carat-dev/timer/timer.rb +160 -0
- data/lib/carat-dev/vars/vars.rb +62 -0
- data/lib/carat/1st.rb +58 -0
- data/lib/carat/ansicolor.rb +122 -0
- data/lib/carat/attr.rb +342 -0
- data/lib/carat/bbcode.rb +352 -0
- data/lib/carat/binaryreader.rb +170 -0
- data/lib/carat/binding-of-caller.rb +83 -0
- data/lib/carat/byteorder.rb +34 -0
- data/lib/carat/constant.rb +287 -0
- data/lib/carat/coroutine.rb +102 -0
- data/lib/carat/crosscase.rb +309 -0
- data/lib/carat/duckhunter.rb +158 -0
- data/lib/carat/dynamic-mixin.rb +71 -0
- data/lib/carat/enumerable-args.rb +125 -0
- data/lib/carat/expect.rb +192 -0
- data/lib/carat/filelist.rb +277 -0
- data/lib/carat/floatstring.rb +153 -0
- data/lib/carat/functor.rb +41 -0
- data/lib/carat/harray.rb +507 -0
- data/lib/carat/heap.rb +193 -0
- data/lib/carat/html-helpers.rb +82 -0
- data/lib/carat/infinity.rb +61 -0
- data/lib/carat/init.rb +33 -0
- data/lib/carat/interval.rb +248 -0
- data/lib/carat/io-reactor.rb +657 -0
- data/lib/carat/io-redirect.rb +99 -0
- data/lib/carat/lisp-format.rb +1832 -0
- data/lib/carat/lisp.rb +336 -0
- data/lib/carat/macro.rb +68 -0
- data/lib/carat/multiton.rb +153 -0
- data/lib/carat/nack.rb +115 -0
- data/lib/carat/nil-comparable.rb +67 -0
- data/lib/carat/nil-missing.rb +12 -0
- data/lib/carat/notcopyable.rb +68 -0
- data/lib/carat/orderedhash.rb +249 -0
- data/lib/carat/ostructable.rb +138 -0
- data/lib/carat/parser-old.rb +350 -0
- data/lib/carat/parser.rb +393 -0
- data/lib/carat/ref.rb +31 -0
- data/lib/carat/semaphore.rb +69 -0
- data/lib/carat/snapshot.rb +94 -0
- data/lib/carat/soundex.rb +104 -0
- data/lib/carat/sstruct.rb +223 -0
- data/lib/carat/statichash.rb +49 -0
- data/lib/carat/tagiter.rb +345 -0
- data/lib/carat/timelimit.rb +114 -0
- data/lib/carat/timer.rb +99 -0
- data/lib/carat/tracepoint.rb +154 -0
- data/lib/carat/tuple.rb +31 -0
- data/lib/carat/uninheritable.rb +68 -0
- data/lib/carat/version.rb +147 -0
- data/pub/doc/sstruct.txt +204 -0
- data/pub/doc/tagiter.html +145 -0
- data/setup.rb +1361 -0
- data/test/fixtures/filelist/testfile.txt +1 -0
- data/test/fixtures/filelist/testfile2.txt +1 -0
- data/test/tc_1st.rb +16 -0
- data/test/tc_ansicolor.rb +23 -0
- data/test/tc_attr.rb +46 -0
- data/test/tc_bbcode.rb +20 -0
- data/test/tc_binaryreader.rb +14 -0
- data/test/tc_binding_of_caller.rb +2 -0
- data/test/tc_byteorder.rb +41 -0
- data/test/tc_constant.rb +12 -0
- data/test/tc_coroutine.rb +50 -0
- data/test/tc_crosscase.rb +33 -0
- data/test/tc_duckhunter.rb +37 -0
- data/test/tc_dynamic-mixin.rb +66 -0
- data/test/tc_enumerable-args.rb +66 -0
- data/test/tc_expect.rb +83 -0
- data/test/tc_filelist.rb +17 -0
- data/test/tc_floatstring.rb +22 -0
- data/test/tc_functor.rb +18 -0
- data/test/tc_harray.rb +280 -0
- data/test/tc_heap.rb +6 -0
- data/test/tc_infinity.rb +23 -0
- data/test/tc_init.rb +29 -0
- data/test/tc_interval.rb +153 -0
- data/test/tc_io-reactor.rb +5 -0
- data/test/tc_io-redirect.rb +5 -0
- data/test/tc_lisp-format.rb +24 -0
- data/test/tc_lisp.rb +32 -0
- data/test/tc_macro.rb +48 -0
- data/test/tc_multiton.rb +188 -0
- data/test/tc_nack.rb +31 -0
- data/test/tc_nil-as-emptiness.rb +19 -0
- data/test/tc_nil-comparable.rb +29 -0
- data/test/tc_nil-missing.rb +0 -0
- data/test/tc_notcopyable.rb +64 -0
- data/test/tc_orderedhash.rb +36 -0
- data/test/tc_ostructable.rb +31 -0
- data/test/tc_semaphore.rb +5 -0
- data/test/tc_snapshot.rb +20 -0
- data/test/tc_soundex.rb +19 -0
- data/test/tc_sstruct.rb +313 -0
- data/test/tc_statichash.rb +24 -0
- data/test/tc_tagiter.rb +80 -0
- data/test/tc_timelimit.rb +47 -0
- data/test/tc_timer.rb +35 -0
- data/test/tc_tracepoint.rb +10 -0
- data/test/tc_tuple.rb +25 -0
- data/test/tc_uninheritable.rb +33 -0
- data/test/tc_version.rb +90 -0
- metadata +531 -0
|
@@ -0,0 +1,939 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: OrderedHash</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">OrderedHash</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../files/lib/carat/orderedhash_rb.html">
|
|
59
|
+
lib/carat/orderedhash.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
Hash
|
|
69
|
+
</td>
|
|
70
|
+
</tr>
|
|
71
|
+
</table>
|
|
72
|
+
</div>
|
|
73
|
+
<!-- banner header -->
|
|
74
|
+
|
|
75
|
+
<div id="bodyContent">
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<div id="contextContent">
|
|
80
|
+
|
|
81
|
+
<div id="description">
|
|
82
|
+
<h1><a href="OrderedHash.html">OrderedHash</a></h1>
|
|
83
|
+
<p>
|
|
84
|
+
Hash with preserved order and some array-like extensions
|
|
85
|
+
</p>
|
|
86
|
+
<h2>AUTHOR</h2>
|
|
87
|
+
<ul>
|
|
88
|
+
<li>jan molic </mig/at/1984/dot/cz/>
|
|
89
|
+
|
|
90
|
+
</li>
|
|
91
|
+
</ul>
|
|
92
|
+
<h2>THANKS</h2>
|
|
93
|
+
<p>
|
|
94
|
+
Andrew Johnson for his suggestions and fixes of Hash[], merge, <a
|
|
95
|
+
href="OrderedHash.html#M000235">to_a</a>, inspect and shift.
|
|
96
|
+
</p>
|
|
97
|
+
<h2>USAGE</h2>
|
|
98
|
+
<p>
|
|
99
|
+
Just require this file and use <a href="OrderedHash.html">OrderedHash</a>
|
|
100
|
+
instead of Hash.
|
|
101
|
+
</p>
|
|
102
|
+
<pre>
|
|
103
|
+
require 'trix/orderedhash'
|
|
104
|
+
|
|
105
|
+
# You can do simply
|
|
106
|
+
hsh = OrderedHash.new
|
|
107
|
+
hsh['z'] = 1
|
|
108
|
+
hsh['a'] = 2
|
|
109
|
+
hsh['c'] = 3
|
|
110
|
+
p hsh.keys #=> ['z','a','c']
|
|
111
|
+
|
|
112
|
+
# or using OrderedHash[] method
|
|
113
|
+
hsh = OrderedHash['z', 1, 'a', 2, 'c', 3]
|
|
114
|
+
p hsh.keys #=> ['z','a','c']
|
|
115
|
+
|
|
116
|
+
# but this don't preserve order
|
|
117
|
+
hsh = OrderedHash['z'=>1, 'a'=>2, 'c'=>3]
|
|
118
|
+
p hsh.keys #=> ['a','c','z']
|
|
119
|
+
|
|
120
|
+
# OrderedHash has useful extensions: push, pop and unshift
|
|
121
|
+
p hsh.push('to_end', 15) #=> true, key added
|
|
122
|
+
p hsh.push('to_end', 30) #=> false, already - nothing happen
|
|
123
|
+
p hsh.unshift('to_begin', 50) #=> true, key added
|
|
124
|
+
p hsh.unshift('to_begin', 60) #=> false, already - nothing happen
|
|
125
|
+
p hsh.keys #=> ["to_begin", "a", "c", "z", "to_end"]
|
|
126
|
+
p hsh.pop #=> ["to_end", 15], if nothing remains, return nil
|
|
127
|
+
p hsh.keys #=> ["to_begin", "a", "c", "z"]
|
|
128
|
+
p hsh.shift #=> ["to_begin", 30], if nothing remains, return nil
|
|
129
|
+
</pre>
|
|
130
|
+
|
|
131
|
+
</div>
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<div id="method-list">
|
|
137
|
+
<h3 class="section-bar">Methods</h3>
|
|
138
|
+
|
|
139
|
+
<div class="name-list">
|
|
140
|
+
<a href="#M000217">==</a>
|
|
141
|
+
<a href="#M000212">[]</a>
|
|
142
|
+
<a href="#M000216">[]=</a>
|
|
143
|
+
<a href="#M000218">clear</a>
|
|
144
|
+
<a href="#M000219">delete</a>
|
|
145
|
+
<a href="#M000224">delete_if</a>
|
|
146
|
+
<a href="#M000222">each</a>
|
|
147
|
+
<a href="#M000220">each_key</a>
|
|
148
|
+
<a href="#M000223">each_pair</a>
|
|
149
|
+
<a href="#M000221">each_value</a>
|
|
150
|
+
<a href="#M000237">inspect</a>
|
|
151
|
+
<a href="#M000227">invert</a>
|
|
152
|
+
<a href="#M000226">keys</a>
|
|
153
|
+
<a href="#M000240">merge</a>
|
|
154
|
+
<a href="#M000239">merge!</a>
|
|
155
|
+
<a href="#M000213">new</a>
|
|
156
|
+
<a href="#M000234">pop</a>
|
|
157
|
+
<a href="#M000233">push</a>
|
|
158
|
+
<a href="#M000228">reject</a>
|
|
159
|
+
<a href="#M000229">reject!</a>
|
|
160
|
+
<a href="#M000230">replace</a>
|
|
161
|
+
<a href="#M000241">select</a>
|
|
162
|
+
<a href="#M000231">shift</a>
|
|
163
|
+
<a href="#M000215">store</a>
|
|
164
|
+
<a href="#M000214">store_only</a>
|
|
165
|
+
<a href="#M000235">to_a</a>
|
|
166
|
+
<a href="#M000236">to_s</a>
|
|
167
|
+
<a href="#M000232">unshift</a>
|
|
168
|
+
<a href="#M000238">update</a>
|
|
169
|
+
<a href="#M000225">values</a>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
<!-- if includes -->
|
|
177
|
+
|
|
178
|
+
<div id="section">
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
<div id="aliases-list">
|
|
183
|
+
<h3 class="section-bar">External Aliases</h3>
|
|
184
|
+
|
|
185
|
+
<div class="name-list">
|
|
186
|
+
<table summary="aliases">
|
|
187
|
+
<tr class="top-aligned-row context-row">
|
|
188
|
+
<td class="context-item-name">store</td>
|
|
189
|
+
<td>-></td>
|
|
190
|
+
<td class="context-item-value">orig_store</td>
|
|
191
|
+
</tr>
|
|
192
|
+
</table>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
<div id="attribute-list">
|
|
198
|
+
<h3 class="section-bar">Attributes</h3>
|
|
199
|
+
|
|
200
|
+
<div class="name-list">
|
|
201
|
+
<table>
|
|
202
|
+
<tr class="top-aligned-row context-row">
|
|
203
|
+
<td class="context-item-name">order</td>
|
|
204
|
+
<td class="context-item-value"> [RW] </td>
|
|
205
|
+
<td class="context-item-desc"></td>
|
|
206
|
+
</tr>
|
|
207
|
+
</table>
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
<!-- if method_list -->
|
|
214
|
+
<div id="methods">
|
|
215
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
216
|
+
|
|
217
|
+
<div id="method-M000212" class="method-detail">
|
|
218
|
+
<a name="M000212"></a>
|
|
219
|
+
|
|
220
|
+
<div class="method-heading">
|
|
221
|
+
<a href="#M000212" class="method-signature">
|
|
222
|
+
<span class="method-name">[]</span><span class="method-args">(*args)</span>
|
|
223
|
+
</a>
|
|
224
|
+
</div>
|
|
225
|
+
|
|
226
|
+
<div class="method-description">
|
|
227
|
+
<p><a class="source-toggle" href="#"
|
|
228
|
+
onclick="toggleCode('M000212-source');return false;">[Source]</a></p>
|
|
229
|
+
<div class="method-source-code" id="M000212-source">
|
|
230
|
+
<pre>
|
|
231
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 57</span>
|
|
232
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span> <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
|
|
233
|
+
<span class="ruby-identifier">hsh</span> = <span class="ruby-constant">OrderedHash</span>.<span class="ruby-identifier">new</span>
|
|
234
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
|
|
235
|
+
<span class="ruby-identifier">hsh</span>.<span class="ruby-identifier">replace</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
|
|
236
|
+
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">%</span> <span class="ruby-value">2</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
|
237
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">"odd number of elements for Hash"</span>
|
|
238
|
+
<span class="ruby-keyword kw">else</span>
|
|
239
|
+
<span class="ruby-identifier">hsh</span>[<span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>] = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
240
|
+
<span class="ruby-keyword kw">end</span>
|
|
241
|
+
<span class="ruby-identifier">hsh</span>
|
|
242
|
+
<span class="ruby-keyword kw">end</span>
|
|
243
|
+
</pre>
|
|
244
|
+
</div>
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
|
|
248
|
+
<div id="method-M000213" class="method-detail">
|
|
249
|
+
<a name="M000213"></a>
|
|
250
|
+
|
|
251
|
+
<div class="method-heading">
|
|
252
|
+
<a href="#M000213" class="method-signature">
|
|
253
|
+
<span class="method-name">new</span><span class="method-args">()</span>
|
|
254
|
+
</a>
|
|
255
|
+
</div>
|
|
256
|
+
|
|
257
|
+
<div class="method-description">
|
|
258
|
+
<p><a class="source-toggle" href="#"
|
|
259
|
+
onclick="toggleCode('M000213-source');return false;">[Source]</a></p>
|
|
260
|
+
<div class="method-source-code" id="M000213-source">
|
|
261
|
+
<pre>
|
|
262
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 70</span>
|
|
263
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
264
|
+
<span class="ruby-ivar">@order</span> = []
|
|
265
|
+
<span class="ruby-keyword kw">end</span>
|
|
266
|
+
</pre>
|
|
267
|
+
</div>
|
|
268
|
+
</div>
|
|
269
|
+
</div>
|
|
270
|
+
|
|
271
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
272
|
+
|
|
273
|
+
<div id="method-M000217" class="method-detail">
|
|
274
|
+
<a name="M000217"></a>
|
|
275
|
+
|
|
276
|
+
<div class="method-heading">
|
|
277
|
+
<a href="#M000217" class="method-signature">
|
|
278
|
+
<span class="method-name">==</span><span class="method-args">(hsh2)</span>
|
|
279
|
+
</a>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
<div class="method-description">
|
|
283
|
+
<p><a class="source-toggle" href="#"
|
|
284
|
+
onclick="toggleCode('M000217-source');return false;">[Source]</a></p>
|
|
285
|
+
<div class="method-source-code" id="M000217-source">
|
|
286
|
+
<pre>
|
|
287
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 85</span>
|
|
288
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">hsh2</span>
|
|
289
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@order</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">hsh2</span>.<span class="ruby-identifier">order</span>
|
|
290
|
+
<span class="ruby-keyword kw">super</span> <span class="ruby-identifier">hsh2</span>
|
|
291
|
+
<span class="ruby-keyword kw">end</span>
|
|
292
|
+
</pre>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
</div>
|
|
296
|
+
|
|
297
|
+
<div id="method-M000216" class="method-detail">
|
|
298
|
+
<a name="M000216"></a>
|
|
299
|
+
|
|
300
|
+
<div class="method-heading">
|
|
301
|
+
<span class="method-name">[]=</span><span class="method-args">(a,b)</span>
|
|
302
|
+
</div>
|
|
303
|
+
|
|
304
|
+
<div class="method-description">
|
|
305
|
+
<p>
|
|
306
|
+
Alias for <a href="OrderedHash.html#M000215">store</a>
|
|
307
|
+
</p>
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
|
|
311
|
+
<div id="method-M000218" class="method-detail">
|
|
312
|
+
<a name="M000218"></a>
|
|
313
|
+
|
|
314
|
+
<div class="method-heading">
|
|
315
|
+
<a href="#M000218" class="method-signature">
|
|
316
|
+
<span class="method-name">clear</span><span class="method-args">()</span>
|
|
317
|
+
</a>
|
|
318
|
+
</div>
|
|
319
|
+
|
|
320
|
+
<div class="method-description">
|
|
321
|
+
<p><a class="source-toggle" href="#"
|
|
322
|
+
onclick="toggleCode('M000218-source');return false;">[Source]</a></p>
|
|
323
|
+
<div class="method-source-code" id="M000218-source">
|
|
324
|
+
<pre>
|
|
325
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 90</span>
|
|
326
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>
|
|
327
|
+
<span class="ruby-ivar">@order</span> = []
|
|
328
|
+
<span class="ruby-keyword kw">super</span>
|
|
329
|
+
<span class="ruby-keyword kw">end</span>
|
|
330
|
+
</pre>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
|
|
335
|
+
<div id="method-M000219" class="method-detail">
|
|
336
|
+
<a name="M000219"></a>
|
|
337
|
+
|
|
338
|
+
<div class="method-heading">
|
|
339
|
+
<a href="#M000219" class="method-signature">
|
|
340
|
+
<span class="method-name">delete</span><span class="method-args">(key)</span>
|
|
341
|
+
</a>
|
|
342
|
+
</div>
|
|
343
|
+
|
|
344
|
+
<div class="method-description">
|
|
345
|
+
<p><a class="source-toggle" href="#"
|
|
346
|
+
onclick="toggleCode('M000219-source');return false;">[Source]</a></p>
|
|
347
|
+
<div class="method-source-code" id="M000219-source">
|
|
348
|
+
<pre>
|
|
349
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 95</span>
|
|
350
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span> <span class="ruby-identifier">key</span>
|
|
351
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">delete</span> <span class="ruby-identifier">key</span>
|
|
352
|
+
<span class="ruby-keyword kw">super</span>
|
|
353
|
+
<span class="ruby-keyword kw">end</span>
|
|
354
|
+
</pre>
|
|
355
|
+
</div>
|
|
356
|
+
</div>
|
|
357
|
+
</div>
|
|
358
|
+
|
|
359
|
+
<div id="method-M000224" class="method-detail">
|
|
360
|
+
<a name="M000224"></a>
|
|
361
|
+
|
|
362
|
+
<div class="method-heading">
|
|
363
|
+
<a href="#M000224" class="method-signature">
|
|
364
|
+
<span class="method-name">delete_if</span><span class="method-args">() {|| ...}</span>
|
|
365
|
+
</a>
|
|
366
|
+
</div>
|
|
367
|
+
|
|
368
|
+
<div class="method-description">
|
|
369
|
+
<p><a class="source-toggle" href="#"
|
|
370
|
+
onclick="toggleCode('M000224-source');return false;">[Source]</a></p>
|
|
371
|
+
<div class="method-source-code" id="M000224-source">
|
|
372
|
+
<pre>
|
|
373
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 116</span>
|
|
374
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_if</span>
|
|
375
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">clone</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
|
|
376
|
+
<span class="ruby-identifier">delete</span> <span class="ruby-identifier">k</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>
|
|
377
|
+
}
|
|
378
|
+
<span class="ruby-keyword kw">self</span>
|
|
379
|
+
<span class="ruby-keyword kw">end</span>
|
|
380
|
+
</pre>
|
|
381
|
+
</div>
|
|
382
|
+
</div>
|
|
383
|
+
</div>
|
|
384
|
+
|
|
385
|
+
<div id="method-M000222" class="method-detail">
|
|
386
|
+
<a name="M000222"></a>
|
|
387
|
+
|
|
388
|
+
<div class="method-heading">
|
|
389
|
+
<a href="#M000222" class="method-signature">
|
|
390
|
+
<span class="method-name">each</span><span class="method-args">() {|k,self[k]| ...}</span>
|
|
391
|
+
</a>
|
|
392
|
+
</div>
|
|
393
|
+
|
|
394
|
+
<div class="method-description">
|
|
395
|
+
<p><a class="source-toggle" href="#"
|
|
396
|
+
onclick="toggleCode('M000222-source');return false;">[Source]</a></p>
|
|
397
|
+
<div class="method-source-code" id="M000222-source">
|
|
398
|
+
<pre>
|
|
399
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 110</span>
|
|
400
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
|
|
401
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">k</span>,<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] }
|
|
402
|
+
<span class="ruby-keyword kw">self</span>
|
|
403
|
+
<span class="ruby-keyword kw">end</span>
|
|
404
|
+
</pre>
|
|
405
|
+
</div>
|
|
406
|
+
</div>
|
|
407
|
+
</div>
|
|
408
|
+
|
|
409
|
+
<div id="method-M000220" class="method-detail">
|
|
410
|
+
<a name="M000220"></a>
|
|
411
|
+
|
|
412
|
+
<div class="method-heading">
|
|
413
|
+
<a href="#M000220" class="method-signature">
|
|
414
|
+
<span class="method-name">each_key</span><span class="method-args">() {|k| ...}</span>
|
|
415
|
+
</a>
|
|
416
|
+
</div>
|
|
417
|
+
|
|
418
|
+
<div class="method-description">
|
|
419
|
+
<p><a class="source-toggle" href="#"
|
|
420
|
+
onclick="toggleCode('M000220-source');return false;">[Source]</a></p>
|
|
421
|
+
<div class="method-source-code" id="M000220-source">
|
|
422
|
+
<pre>
|
|
423
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 100</span>
|
|
424
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_key</span>
|
|
425
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">k</span> }
|
|
426
|
+
<span class="ruby-keyword kw">self</span>
|
|
427
|
+
<span class="ruby-keyword kw">end</span>
|
|
428
|
+
</pre>
|
|
429
|
+
</div>
|
|
430
|
+
</div>
|
|
431
|
+
</div>
|
|
432
|
+
|
|
433
|
+
<div id="method-M000223" class="method-detail">
|
|
434
|
+
<a name="M000223"></a>
|
|
435
|
+
|
|
436
|
+
<div class="method-heading">
|
|
437
|
+
<span class="method-name">each_pair</span><span class="method-args">()</span>
|
|
438
|
+
</div>
|
|
439
|
+
|
|
440
|
+
<div class="method-description">
|
|
441
|
+
<p>
|
|
442
|
+
Alias for <a href="OrderedHash.html#M000222">each</a>
|
|
443
|
+
</p>
|
|
444
|
+
</div>
|
|
445
|
+
</div>
|
|
446
|
+
|
|
447
|
+
<div id="method-M000221" class="method-detail">
|
|
448
|
+
<a name="M000221"></a>
|
|
449
|
+
|
|
450
|
+
<div class="method-heading">
|
|
451
|
+
<a href="#M000221" class="method-signature">
|
|
452
|
+
<span class="method-name">each_value</span><span class="method-args">() {|self[k]| ...}</span>
|
|
453
|
+
</a>
|
|
454
|
+
</div>
|
|
455
|
+
|
|
456
|
+
<div class="method-description">
|
|
457
|
+
<p><a class="source-toggle" href="#"
|
|
458
|
+
onclick="toggleCode('M000221-source');return false;">[Source]</a></p>
|
|
459
|
+
<div class="method-source-code" id="M000221-source">
|
|
460
|
+
<pre>
|
|
461
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 105</span>
|
|
462
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_value</span>
|
|
463
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] }
|
|
464
|
+
<span class="ruby-keyword kw">self</span>
|
|
465
|
+
<span class="ruby-keyword kw">end</span>
|
|
466
|
+
</pre>
|
|
467
|
+
</div>
|
|
468
|
+
</div>
|
|
469
|
+
</div>
|
|
470
|
+
|
|
471
|
+
<div id="method-M000237" class="method-detail">
|
|
472
|
+
<a name="M000237"></a>
|
|
473
|
+
|
|
474
|
+
<div class="method-heading">
|
|
475
|
+
<a href="#M000237" class="method-signature">
|
|
476
|
+
<span class="method-name">inspect</span><span class="method-args">()</span>
|
|
477
|
+
</a>
|
|
478
|
+
</div>
|
|
479
|
+
|
|
480
|
+
<div class="method-description">
|
|
481
|
+
<p><a class="source-toggle" href="#"
|
|
482
|
+
onclick="toggleCode('M000237-source');return false;">[Source]</a></p>
|
|
483
|
+
<div class="method-source-code" id="M000237-source">
|
|
484
|
+
<pre>
|
|
485
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 193</span>
|
|
486
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
|
|
487
|
+
<span class="ruby-identifier">ary</span> = []
|
|
488
|
+
<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">inspect</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"=>"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">inspect</span>}
|
|
489
|
+
<span class="ruby-value str">'{'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">", "</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'}'</span>
|
|
490
|
+
<span class="ruby-keyword kw">end</span>
|
|
491
|
+
</pre>
|
|
492
|
+
</div>
|
|
493
|
+
</div>
|
|
494
|
+
</div>
|
|
495
|
+
|
|
496
|
+
<div id="method-M000227" class="method-detail">
|
|
497
|
+
<a name="M000227"></a>
|
|
498
|
+
|
|
499
|
+
<div class="method-heading">
|
|
500
|
+
<a href="#M000227" class="method-signature">
|
|
501
|
+
<span class="method-name">invert</span><span class="method-args">()</span>
|
|
502
|
+
</a>
|
|
503
|
+
</div>
|
|
504
|
+
|
|
505
|
+
<div class="method-description">
|
|
506
|
+
<p><a class="source-toggle" href="#"
|
|
507
|
+
onclick="toggleCode('M000227-source');return false;">[Source]</a></p>
|
|
508
|
+
<div class="method-source-code" id="M000227-source">
|
|
509
|
+
<pre>
|
|
510
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 133</span>
|
|
511
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">invert</span>
|
|
512
|
+
<span class="ruby-identifier">hsh2</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
|
|
513
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">hsh2</span>[<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>]] = <span class="ruby-identifier">k</span> }
|
|
514
|
+
<span class="ruby-identifier">hsh2</span>
|
|
515
|
+
<span class="ruby-keyword kw">end</span>
|
|
516
|
+
</pre>
|
|
517
|
+
</div>
|
|
518
|
+
</div>
|
|
519
|
+
</div>
|
|
520
|
+
|
|
521
|
+
<div id="method-M000226" class="method-detail">
|
|
522
|
+
<a name="M000226"></a>
|
|
523
|
+
|
|
524
|
+
<div class="method-heading">
|
|
525
|
+
<a href="#M000226" class="method-signature">
|
|
526
|
+
<span class="method-name">keys</span><span class="method-args">()</span>
|
|
527
|
+
</a>
|
|
528
|
+
</div>
|
|
529
|
+
|
|
530
|
+
<div class="method-description">
|
|
531
|
+
<p><a class="source-toggle" href="#"
|
|
532
|
+
onclick="toggleCode('M000226-source');return false;">[Source]</a></p>
|
|
533
|
+
<div class="method-source-code" id="M000226-source">
|
|
534
|
+
<pre>
|
|
535
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 129</span>
|
|
536
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys</span>
|
|
537
|
+
<span class="ruby-ivar">@order</span>
|
|
538
|
+
<span class="ruby-keyword kw">end</span>
|
|
539
|
+
</pre>
|
|
540
|
+
</div>
|
|
541
|
+
</div>
|
|
542
|
+
</div>
|
|
543
|
+
|
|
544
|
+
<div id="method-M000240" class="method-detail">
|
|
545
|
+
<a name="M000240"></a>
|
|
546
|
+
|
|
547
|
+
<div class="method-heading">
|
|
548
|
+
<a href="#M000240" class="method-signature">
|
|
549
|
+
<span class="method-name">merge</span><span class="method-args">(hsh2)</span>
|
|
550
|
+
</a>
|
|
551
|
+
</div>
|
|
552
|
+
|
|
553
|
+
<div class="method-description">
|
|
554
|
+
<p><a class="source-toggle" href="#"
|
|
555
|
+
onclick="toggleCode('M000240-source');return false;">[Source]</a></p>
|
|
556
|
+
<div class="method-source-code" id="M000240-source">
|
|
557
|
+
<pre>
|
|
558
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 205</span>
|
|
559
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span> <span class="ruby-identifier">hsh2</span>
|
|
560
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span> <span class="ruby-identifier">update</span>(<span class="ruby-identifier">hsh2</span>)
|
|
561
|
+
<span class="ruby-keyword kw">end</span>
|
|
562
|
+
</pre>
|
|
563
|
+
</div>
|
|
564
|
+
</div>
|
|
565
|
+
</div>
|
|
566
|
+
|
|
567
|
+
<div id="method-M000239" class="method-detail">
|
|
568
|
+
<a name="M000239"></a>
|
|
569
|
+
|
|
570
|
+
<div class="method-heading">
|
|
571
|
+
<span class="method-name">merge!</span><span class="method-args">(hsh2)</span>
|
|
572
|
+
</div>
|
|
573
|
+
|
|
574
|
+
<div class="method-description">
|
|
575
|
+
<p>
|
|
576
|
+
Alias for <a href="OrderedHash.html#M000238">update</a>
|
|
577
|
+
</p>
|
|
578
|
+
</div>
|
|
579
|
+
</div>
|
|
580
|
+
|
|
581
|
+
<div id="method-M000234" class="method-detail">
|
|
582
|
+
<a name="M000234"></a>
|
|
583
|
+
|
|
584
|
+
<div class="method-heading">
|
|
585
|
+
<a href="#M000234" class="method-signature">
|
|
586
|
+
<span class="method-name">pop</span><span class="method-args">()</span>
|
|
587
|
+
</a>
|
|
588
|
+
</div>
|
|
589
|
+
|
|
590
|
+
<div class="method-description">
|
|
591
|
+
<p><a class="source-toggle" href="#"
|
|
592
|
+
onclick="toggleCode('M000234-source');return false;">[Source]</a></p>
|
|
593
|
+
<div class="method-source-code" id="M000234-source">
|
|
594
|
+
<pre>
|
|
595
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 178</span>
|
|
596
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pop</span>
|
|
597
|
+
<span class="ruby-identifier">key</span> = <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">last</span>
|
|
598
|
+
<span class="ruby-identifier">key</span> <span class="ruby-value">? </span>[<span class="ruby-identifier">key</span>,<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
599
|
+
<span class="ruby-keyword kw">end</span>
|
|
600
|
+
</pre>
|
|
601
|
+
</div>
|
|
602
|
+
</div>
|
|
603
|
+
</div>
|
|
604
|
+
|
|
605
|
+
<div id="method-M000233" class="method-detail">
|
|
606
|
+
<a name="M000233"></a>
|
|
607
|
+
|
|
608
|
+
<div class="method-heading">
|
|
609
|
+
<a href="#M000233" class="method-signature">
|
|
610
|
+
<span class="method-name">push</span><span class="method-args">(k,v)</span>
|
|
611
|
+
</a>
|
|
612
|
+
</div>
|
|
613
|
+
|
|
614
|
+
<div class="method-description">
|
|
615
|
+
<p><a class="source-toggle" href="#"
|
|
616
|
+
onclick="toggleCode('M000233-source');return false;">[Source]</a></p>
|
|
617
|
+
<div class="method-source-code" id="M000233-source">
|
|
618
|
+
<pre>
|
|
619
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 168</span>
|
|
620
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span> <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>
|
|
621
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">k</span>
|
|
622
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">k</span>
|
|
623
|
+
<span class="ruby-identifier">orig_store</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)
|
|
624
|
+
<span class="ruby-keyword kw">true</span>
|
|
625
|
+
<span class="ruby-keyword kw">else</span>
|
|
626
|
+
<span class="ruby-keyword kw">false</span>
|
|
627
|
+
<span class="ruby-keyword kw">end</span>
|
|
628
|
+
<span class="ruby-keyword kw">end</span>
|
|
629
|
+
</pre>
|
|
630
|
+
</div>
|
|
631
|
+
</div>
|
|
632
|
+
</div>
|
|
633
|
+
|
|
634
|
+
<div id="method-M000228" class="method-detail">
|
|
635
|
+
<a name="M000228"></a>
|
|
636
|
+
|
|
637
|
+
<div class="method-heading">
|
|
638
|
+
<a href="#M000228" class="method-signature">
|
|
639
|
+
<span class="method-name">reject</span><span class="method-args">(&block)</span>
|
|
640
|
+
</a>
|
|
641
|
+
</div>
|
|
642
|
+
|
|
643
|
+
<div class="method-description">
|
|
644
|
+
<p><a class="source-toggle" href="#"
|
|
645
|
+
onclick="toggleCode('M000228-source');return false;">[Source]</a></p>
|
|
646
|
+
<div class="method-source-code" id="M000228-source">
|
|
647
|
+
<pre>
|
|
648
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 139</span>
|
|
649
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reject</span> <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>
|
|
650
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>
|
|
651
|
+
<span class="ruby-keyword kw">end</span>
|
|
652
|
+
</pre>
|
|
653
|
+
</div>
|
|
654
|
+
</div>
|
|
655
|
+
</div>
|
|
656
|
+
|
|
657
|
+
<div id="method-M000229" class="method-detail">
|
|
658
|
+
<a name="M000229"></a>
|
|
659
|
+
|
|
660
|
+
<div class="method-heading">
|
|
661
|
+
<a href="#M000229" class="method-signature">
|
|
662
|
+
<span class="method-name">reject!</span><span class="method-args">(&block)</span>
|
|
663
|
+
</a>
|
|
664
|
+
</div>
|
|
665
|
+
|
|
666
|
+
<div class="method-description">
|
|
667
|
+
<p><a class="source-toggle" href="#"
|
|
668
|
+
onclick="toggleCode('M000229-source');return false;">[Source]</a></p>
|
|
669
|
+
<div class="method-source-code" id="M000229-source">
|
|
670
|
+
<pre>
|
|
671
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 143</span>
|
|
672
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reject!</span> <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>
|
|
673
|
+
<span class="ruby-identifier">hsh2</span> = <span class="ruby-identifier">reject</span> <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>
|
|
674
|
+
<span class="ruby-keyword kw">self</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">hsh2</span> <span class="ruby-value">? </span><span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">hsh2</span>
|
|
675
|
+
<span class="ruby-keyword kw">end</span>
|
|
676
|
+
</pre>
|
|
677
|
+
</div>
|
|
678
|
+
</div>
|
|
679
|
+
</div>
|
|
680
|
+
|
|
681
|
+
<div id="method-M000230" class="method-detail">
|
|
682
|
+
<a name="M000230"></a>
|
|
683
|
+
|
|
684
|
+
<div class="method-heading">
|
|
685
|
+
<a href="#M000230" class="method-signature">
|
|
686
|
+
<span class="method-name">replace</span><span class="method-args">(hsh2)</span>
|
|
687
|
+
</a>
|
|
688
|
+
</div>
|
|
689
|
+
|
|
690
|
+
<div class="method-description">
|
|
691
|
+
<p><a class="source-toggle" href="#"
|
|
692
|
+
onclick="toggleCode('M000230-source');return false;">[Source]</a></p>
|
|
693
|
+
<div class="method-source-code" id="M000230-source">
|
|
694
|
+
<pre>
|
|
695
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 148</span>
|
|
696
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">replace</span> <span class="ruby-identifier">hsh2</span>
|
|
697
|
+
<span class="ruby-ivar">@order</span> = <span class="ruby-identifier">hsh2</span>.<span class="ruby-identifier">keys</span>
|
|
698
|
+
<span class="ruby-keyword kw">super</span> <span class="ruby-identifier">hsh2</span>
|
|
699
|
+
<span class="ruby-keyword kw">end</span>
|
|
700
|
+
</pre>
|
|
701
|
+
</div>
|
|
702
|
+
</div>
|
|
703
|
+
</div>
|
|
704
|
+
|
|
705
|
+
<div id="method-M000241" class="method-detail">
|
|
706
|
+
<a name="M000241"></a>
|
|
707
|
+
|
|
708
|
+
<div class="method-heading">
|
|
709
|
+
<a href="#M000241" class="method-signature">
|
|
710
|
+
<span class="method-name">select</span><span class="method-args">() {|k,v| ...}</span>
|
|
711
|
+
</a>
|
|
712
|
+
</div>
|
|
713
|
+
|
|
714
|
+
<div class="method-description">
|
|
715
|
+
<p><a class="source-toggle" href="#"
|
|
716
|
+
onclick="toggleCode('M000241-source');return false;">[Source]</a></p>
|
|
717
|
+
<div class="method-source-code" id="M000241-source">
|
|
718
|
+
<pre>
|
|
719
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 209</span>
|
|
720
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select</span>
|
|
721
|
+
<span class="ruby-identifier">ary</span> = []
|
|
722
|
+
<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span> <span class="ruby-operator"><<</span> [<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span> }
|
|
723
|
+
<span class="ruby-identifier">ary</span>
|
|
724
|
+
<span class="ruby-keyword kw">end</span>
|
|
725
|
+
</pre>
|
|
726
|
+
</div>
|
|
727
|
+
</div>
|
|
728
|
+
</div>
|
|
729
|
+
|
|
730
|
+
<div id="method-M000231" class="method-detail">
|
|
731
|
+
<a name="M000231"></a>
|
|
732
|
+
|
|
733
|
+
<div class="method-heading">
|
|
734
|
+
<a href="#M000231" class="method-signature">
|
|
735
|
+
<span class="method-name">shift</span><span class="method-args">()</span>
|
|
736
|
+
</a>
|
|
737
|
+
</div>
|
|
738
|
+
|
|
739
|
+
<div class="method-description">
|
|
740
|
+
<p><a class="source-toggle" href="#"
|
|
741
|
+
onclick="toggleCode('M000231-source');return false;">[Source]</a></p>
|
|
742
|
+
<div class="method-source-code" id="M000231-source">
|
|
743
|
+
<pre>
|
|
744
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 153</span>
|
|
745
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shift</span>
|
|
746
|
+
<span class="ruby-identifier">key</span> = <span class="ruby-ivar">@order</span>.<span class="ruby-identifier">first</span>
|
|
747
|
+
<span class="ruby-identifier">key</span> <span class="ruby-value">? </span>[<span class="ruby-identifier">key</span>,<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">super</span>
|
|
748
|
+
<span class="ruby-keyword kw">end</span>
|
|
749
|
+
</pre>
|
|
750
|
+
</div>
|
|
751
|
+
</div>
|
|
752
|
+
</div>
|
|
753
|
+
|
|
754
|
+
<div id="method-M000215" class="method-detail">
|
|
755
|
+
<a name="M000215"></a>
|
|
756
|
+
|
|
757
|
+
<div class="method-heading">
|
|
758
|
+
<a href="#M000215" class="method-signature">
|
|
759
|
+
<span class="method-name">store</span><span class="method-args">(a,b)</span>
|
|
760
|
+
</a>
|
|
761
|
+
</div>
|
|
762
|
+
|
|
763
|
+
<div class="method-description">
|
|
764
|
+
<p><a class="source-toggle" href="#"
|
|
765
|
+
onclick="toggleCode('M000215-source');return false;">[Source]</a></p>
|
|
766
|
+
<div class="method-source-code" id="M000215-source">
|
|
767
|
+
<pre>
|
|
768
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 79</span>
|
|
769
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
|
|
770
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">a</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">a</span>
|
|
771
|
+
<span class="ruby-keyword kw">super</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
|
|
772
|
+
<span class="ruby-keyword kw">end</span>
|
|
773
|
+
</pre>
|
|
774
|
+
</div>
|
|
775
|
+
</div>
|
|
776
|
+
</div>
|
|
777
|
+
|
|
778
|
+
<div id="method-M000214" class="method-detail">
|
|
779
|
+
<a name="M000214"></a>
|
|
780
|
+
|
|
781
|
+
<div class="method-heading">
|
|
782
|
+
<a href="#M000214" class="method-signature">
|
|
783
|
+
<span class="method-name">store_only</span><span class="method-args">(a,b)</span>
|
|
784
|
+
</a>
|
|
785
|
+
</div>
|
|
786
|
+
|
|
787
|
+
<div class="method-description">
|
|
788
|
+
<p><a class="source-toggle" href="#"
|
|
789
|
+
onclick="toggleCode('M000214-source');return false;">[Source]</a></p>
|
|
790
|
+
<div class="method-source-code" id="M000214-source">
|
|
791
|
+
<pre>
|
|
792
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 74</span>
|
|
793
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_only</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
|
|
794
|
+
<span class="ruby-identifier">store</span> <span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span>
|
|
795
|
+
<span class="ruby-keyword kw">end</span>
|
|
796
|
+
</pre>
|
|
797
|
+
</div>
|
|
798
|
+
</div>
|
|
799
|
+
</div>
|
|
800
|
+
|
|
801
|
+
<div id="method-M000235" class="method-detail">
|
|
802
|
+
<a name="M000235"></a>
|
|
803
|
+
|
|
804
|
+
<div class="method-heading">
|
|
805
|
+
<a href="#M000235" class="method-signature">
|
|
806
|
+
<span class="method-name">to_a</span><span class="method-args">()</span>
|
|
807
|
+
</a>
|
|
808
|
+
</div>
|
|
809
|
+
|
|
810
|
+
<div class="method-description">
|
|
811
|
+
<p><a class="source-toggle" href="#"
|
|
812
|
+
onclick="toggleCode('M000235-source');return false;">[Source]</a></p>
|
|
813
|
+
<div class="method-source-code" id="M000235-source">
|
|
814
|
+
<pre>
|
|
815
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 183</span>
|
|
816
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_a</span>
|
|
817
|
+
<span class="ruby-identifier">ary</span> = []
|
|
818
|
+
<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span> <span class="ruby-operator"><<</span> [<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>] }
|
|
819
|
+
<span class="ruby-identifier">ary</span>
|
|
820
|
+
<span class="ruby-keyword kw">end</span>
|
|
821
|
+
</pre>
|
|
822
|
+
</div>
|
|
823
|
+
</div>
|
|
824
|
+
</div>
|
|
825
|
+
|
|
826
|
+
<div id="method-M000236" class="method-detail">
|
|
827
|
+
<a name="M000236"></a>
|
|
828
|
+
|
|
829
|
+
<div class="method-heading">
|
|
830
|
+
<a href="#M000236" class="method-signature">
|
|
831
|
+
<span class="method-name">to_s</span><span class="method-args">()</span>
|
|
832
|
+
</a>
|
|
833
|
+
</div>
|
|
834
|
+
|
|
835
|
+
<div class="method-description">
|
|
836
|
+
<p><a class="source-toggle" href="#"
|
|
837
|
+
onclick="toggleCode('M000236-source');return false;">[Source]</a></p>
|
|
838
|
+
<div class="method-source-code" id="M000236-source">
|
|
839
|
+
<pre>
|
|
840
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 189</span>
|
|
841
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
842
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">to_s</span>
|
|
843
|
+
<span class="ruby-keyword kw">end</span>
|
|
844
|
+
</pre>
|
|
845
|
+
</div>
|
|
846
|
+
</div>
|
|
847
|
+
</div>
|
|
848
|
+
|
|
849
|
+
<div id="method-M000232" class="method-detail">
|
|
850
|
+
<a name="M000232"></a>
|
|
851
|
+
|
|
852
|
+
<div class="method-heading">
|
|
853
|
+
<a href="#M000232" class="method-signature">
|
|
854
|
+
<span class="method-name">unshift</span><span class="method-args">(k,v)</span>
|
|
855
|
+
</a>
|
|
856
|
+
</div>
|
|
857
|
+
|
|
858
|
+
<div class="method-description">
|
|
859
|
+
<p><a class="source-toggle" href="#"
|
|
860
|
+
onclick="toggleCode('M000232-source');return false;">[Source]</a></p>
|
|
861
|
+
<div class="method-source-code" id="M000232-source">
|
|
862
|
+
<pre>
|
|
863
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 158</span>
|
|
864
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unshift</span> <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>
|
|
865
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">k</span>
|
|
866
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-identifier">k</span>
|
|
867
|
+
<span class="ruby-identifier">orig_store</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)
|
|
868
|
+
<span class="ruby-keyword kw">true</span>
|
|
869
|
+
<span class="ruby-keyword kw">else</span>
|
|
870
|
+
<span class="ruby-keyword kw">false</span>
|
|
871
|
+
<span class="ruby-keyword kw">end</span>
|
|
872
|
+
<span class="ruby-keyword kw">end</span>
|
|
873
|
+
</pre>
|
|
874
|
+
</div>
|
|
875
|
+
</div>
|
|
876
|
+
</div>
|
|
877
|
+
|
|
878
|
+
<div id="method-M000238" class="method-detail">
|
|
879
|
+
<a name="M000238"></a>
|
|
880
|
+
|
|
881
|
+
<div class="method-heading">
|
|
882
|
+
<a href="#M000238" class="method-signature">
|
|
883
|
+
<span class="method-name">update</span><span class="method-args">(hsh2)</span>
|
|
884
|
+
</a>
|
|
885
|
+
</div>
|
|
886
|
+
|
|
887
|
+
<div class="method-description">
|
|
888
|
+
<p><a class="source-toggle" href="#"
|
|
889
|
+
onclick="toggleCode('M000238-source');return false;">[Source]</a></p>
|
|
890
|
+
<div class="method-source-code" id="M000238-source">
|
|
891
|
+
<pre>
|
|
892
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 199</span>
|
|
893
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update</span> <span class="ruby-identifier">hsh2</span>
|
|
894
|
+
<span class="ruby-identifier">hsh2</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span> }
|
|
895
|
+
<span class="ruby-keyword kw">self</span>
|
|
896
|
+
<span class="ruby-keyword kw">end</span>
|
|
897
|
+
</pre>
|
|
898
|
+
</div>
|
|
899
|
+
</div>
|
|
900
|
+
</div>
|
|
901
|
+
|
|
902
|
+
<div id="method-M000225" class="method-detail">
|
|
903
|
+
<a name="M000225"></a>
|
|
904
|
+
|
|
905
|
+
<div class="method-heading">
|
|
906
|
+
<a href="#M000225" class="method-signature">
|
|
907
|
+
<span class="method-name">values</span><span class="method-args">()</span>
|
|
908
|
+
</a>
|
|
909
|
+
</div>
|
|
910
|
+
|
|
911
|
+
<div class="method-description">
|
|
912
|
+
<p><a class="source-toggle" href="#"
|
|
913
|
+
onclick="toggleCode('M000225-source');return false;">[Source]</a></p>
|
|
914
|
+
<div class="method-source-code" id="M000225-source">
|
|
915
|
+
<pre>
|
|
916
|
+
<span class="ruby-comment cmt"># File lib/carat/orderedhash.rb, line 123</span>
|
|
917
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">values</span>
|
|
918
|
+
<span class="ruby-identifier">ary</span> = []
|
|
919
|
+
<span class="ruby-ivar">@order</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">push</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>] }
|
|
920
|
+
<span class="ruby-identifier">ary</span>
|
|
921
|
+
<span class="ruby-keyword kw">end</span>
|
|
922
|
+
</pre>
|
|
923
|
+
</div>
|
|
924
|
+
</div>
|
|
925
|
+
</div>
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
</div>
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
</div>
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+
<div id="validator-badges">
|
|
935
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
936
|
+
</div>
|
|
937
|
+
|
|
938
|
+
</body>
|
|
939
|
+
</html>
|