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,432 @@
|
|
|
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: Lisp::Format::Directives::Radix</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">Lisp::Format::Directives::Radix</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../../files/lib/carat/lisp-format_rb.html">
|
|
59
|
+
lib/carat/lisp-format.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
|
+
<a href="Directive.html">
|
|
69
|
+
Directive
|
|
70
|
+
</a>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div id="contextContent">
|
|
82
|
+
|
|
83
|
+
<div id="description">
|
|
84
|
+
<p>
|
|
85
|
+
Represents the ~R (<a href="Radix.html">Radix</a>) directive. This outputs
|
|
86
|
+
numbers in a given radix, or using alternative forms, such as Roman
|
|
87
|
+
numerals or cardinal/ordinal English numbers.
|
|
88
|
+
</p>
|
|
89
|
+
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div id="method-list">
|
|
96
|
+
<h3 class="section-bar">Methods</h3>
|
|
97
|
+
|
|
98
|
+
<div class="name-list">
|
|
99
|
+
<a href="#M000495">cardinal</a>
|
|
100
|
+
<a href="#M000496">cardinal_100s</a>
|
|
101
|
+
<a href="#M000494">execute</a>
|
|
102
|
+
<a href="#M000500">old_roman</a>
|
|
103
|
+
<a href="#M000497">ordinal</a>
|
|
104
|
+
<a href="#M000499">roman</a>
|
|
105
|
+
<a href="#M000498">roman_helper</a>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
<!-- if includes -->
|
|
113
|
+
|
|
114
|
+
<div id="section">
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
<!-- if method_list -->
|
|
124
|
+
<div id="methods">
|
|
125
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
126
|
+
|
|
127
|
+
<div id="method-M000494" class="method-detail">
|
|
128
|
+
<a name="M000494"></a>
|
|
129
|
+
|
|
130
|
+
<div class="method-heading">
|
|
131
|
+
<a href="#M000494" class="method-signature">
|
|
132
|
+
<span class="method-name">execute</span><span class="method-args">(state)</span>
|
|
133
|
+
</a>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<div class="method-description">
|
|
137
|
+
<p>
|
|
138
|
+
<a href="../Output.html">Output</a> the given argument using one of a
|
|
139
|
+
variety of methods. Either the argument is output using a specific radix,
|
|
140
|
+
using cardinal or ordinal English numbers, or Roman numerals. The full form
|
|
141
|
+
is
|
|
142
|
+
</p>
|
|
143
|
+
<pre>
|
|
144
|
+
~radix,mincol,padchar,commachar,commainterval:@R
|
|
145
|
+
</pre>
|
|
146
|
+
<p>
|
|
147
|
+
with the same interpretation as for ~D (<a href="Decimal.html">Decimal</a>
|
|
148
|
+
/ <a href="Number.html">Number</a>), but using the given <tt>radix</tt>
|
|
149
|
+
instead. An <a href="../ArgumentError.html">ArgumentError</a> is raised if
|
|
150
|
+
the argument is not an integer, or, in the case of Roman numerals, if the
|
|
151
|
+
argument is not a Fixnum value.
|
|
152
|
+
</p>
|
|
153
|
+
<p>
|
|
154
|
+
If none of the parameters are given the output instead depends on the
|
|
155
|
+
combination of modifiers:
|
|
156
|
+
</p>
|
|
157
|
+
<dl>
|
|
158
|
+
<dt><em>no modifiers</em></dt><dd>the number is output as a cardinal English number,
|
|
159
|
+
|
|
160
|
+
</dd>
|
|
161
|
+
<dt>:</dt><dd>the number is output as an ordinal English number,
|
|
162
|
+
|
|
163
|
+
</dd>
|
|
164
|
+
<dt>@</dt><dd>the number is output as a Roman numeral,
|
|
165
|
+
|
|
166
|
+
</dd>
|
|
167
|
+
<dt>:@</dt><dd>the number is output as an old Roman numeral.
|
|
168
|
+
|
|
169
|
+
</dd>
|
|
170
|
+
</dl>
|
|
171
|
+
<p>
|
|
172
|
+
An <a href="../ArgumentError.html">ArgumentError</a> is raised if the
|
|
173
|
+
argument is not an integer.
|
|
174
|
+
</p>
|
|
175
|
+
<p><a class="source-toggle" href="#"
|
|
176
|
+
onclick="toggleCode('M000494-source');return false;">[Source]</a></p>
|
|
177
|
+
<div class="method-source-code" id="M000494-source">
|
|
178
|
+
<pre>
|
|
179
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 784</span>
|
|
180
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">execute</span>(<span class="ruby-identifier">state</span>)
|
|
181
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
182
|
+
<span class="ruby-comment cmt"># XXX: may be ugly to modify these</span>
|
|
183
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">shift</span>.<span class="ruby-identifier">value</span>
|
|
184
|
+
<span class="ruby-constant">Factory</span>.<span class="ruby-identifier">build</span>(<span class="ruby-ivar">@params</span>, <span class="ruby-ivar">@modifiers</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@pos</span>, <span class="ruby-identifier">n</span>).<span class="ruby-identifier">execute</span>(<span class="ruby-identifier">state</span>)
|
|
185
|
+
<span class="ruby-keyword kw">else</span>
|
|
186
|
+
<span class="ruby-identifier">arg</span> = <span class="ruby-identifier">state</span>.<span class="ruby-identifier">next_arg</span>
|
|
187
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_int</span>
|
|
188
|
+
<span class="ruby-identifier">conversion</span> = <span class="ruby-identifier">:cardinal</span>
|
|
189
|
+
<span class="ruby-identifier">conversion</span> = <span class="ruby-identifier">:ordinal</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">colon_mod?</span>
|
|
190
|
+
<span class="ruby-identifier">conversion</span> = <span class="ruby-identifier">:roman</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">at_mod?</span>
|
|
191
|
+
<span class="ruby-identifier">conversion</span> = <span class="ruby-identifier">:old_roman</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">colon_mod?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">at_mod?</span>
|
|
192
|
+
<span class="ruby-identifier">state</span>.<span class="ruby-identifier">output</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">conversion</span>, <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">to_int</span>)
|
|
193
|
+
<span class="ruby-keyword kw">else</span>
|
|
194
|
+
<span class="ruby-identifier">arg_error</span> <span class="ruby-value str">'argument is not an integer'</span>
|
|
195
|
+
<span class="ruby-keyword kw">end</span>
|
|
196
|
+
<span class="ruby-keyword kw">end</span>
|
|
197
|
+
<span class="ruby-keyword kw">end</span>
|
|
198
|
+
</pre>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<h3 class="section-bar">Private Instance methods</h3>
|
|
204
|
+
|
|
205
|
+
<div id="method-M000495" class="method-detail">
|
|
206
|
+
<a name="M000495"></a>
|
|
207
|
+
|
|
208
|
+
<div class="method-heading">
|
|
209
|
+
<a href="#M000495" class="method-signature">
|
|
210
|
+
<span class="method-name">cardinal</span><span class="method-args">(n)</span>
|
|
211
|
+
</a>
|
|
212
|
+
</div>
|
|
213
|
+
|
|
214
|
+
<div class="method-description">
|
|
215
|
+
<p>
|
|
216
|
+
Convert the given number to a cardinal English number string.
|
|
217
|
+
</p>
|
|
218
|
+
<p><a class="source-toggle" href="#"
|
|
219
|
+
onclick="toggleCode('M000495-source');return false;">[Source]</a></p>
|
|
220
|
+
<div class="method-source-code" id="M000495-source">
|
|
221
|
+
<pre>
|
|
222
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 806</span>
|
|
223
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cardinal</span>(<span class="ruby-identifier">n</span>)
|
|
224
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-value str">'zero'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">zero?</span>
|
|
225
|
+
<span class="ruby-identifier">out</span> = []
|
|
226
|
+
<span class="ruby-identifier">negative</span> = <span class="ruby-identifier">n</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
227
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">abs</span>
|
|
228
|
+
<span class="ruby-identifier">power</span> = <span class="ruby-value">0</span>
|
|
229
|
+
<span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
230
|
+
<span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">divmod</span>(<span class="ruby-value">1000</span>)
|
|
231
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">after</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
232
|
+
<span class="ruby-identifier">block</span> = <span class="ruby-identifier">cardinal_100s</span>(<span class="ruby-identifier">after</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">power</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-value">? </span><span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-value str">' '</span>)
|
|
233
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">power</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@@illions</span>.<span class="ruby-identifier">size</span>
|
|
234
|
+
<span class="ruby-identifier">block</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@@illions</span>[<span class="ruby-identifier">power</span>]
|
|
235
|
+
<span class="ruby-keyword kw">else</span>
|
|
236
|
+
<span class="ruby-identifier">block</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">'times ten to the '</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">power</span> <span class="ruby-operator">*</span> <span class="ruby-value">3</span>).<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">' power'</span>
|
|
237
|
+
<span class="ruby-keyword kw">end</span>
|
|
238
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">block</span>
|
|
239
|
+
<span class="ruby-keyword kw">end</span>
|
|
240
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">before</span>
|
|
241
|
+
<span class="ruby-identifier">power</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
242
|
+
<span class="ruby-keyword kw">end</span>
|
|
243
|
+
<span class="ruby-identifier">negative</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">'minus'</span>
|
|
244
|
+
<span class="ruby-identifier">out</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
|
|
245
|
+
<span class="ruby-keyword kw">end</span>
|
|
246
|
+
</pre>
|
|
247
|
+
</div>
|
|
248
|
+
</div>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
<div id="method-M000496" class="method-detail">
|
|
252
|
+
<a name="M000496"></a>
|
|
253
|
+
|
|
254
|
+
<div class="method-heading">
|
|
255
|
+
<a href="#M000496" class="method-signature">
|
|
256
|
+
<span class="method-name">cardinal_100s</span><span class="method-args">(n)</span>
|
|
257
|
+
</a>
|
|
258
|
+
</div>
|
|
259
|
+
|
|
260
|
+
<div class="method-description">
|
|
261
|
+
<p>
|
|
262
|
+
Deal with hundreds for cardinals.
|
|
263
|
+
</p>
|
|
264
|
+
<p><a class="source-toggle" href="#"
|
|
265
|
+
onclick="toggleCode('M000496-source');return false;">[Source]</a></p>
|
|
266
|
+
<div class="method-source-code" id="M000496-source">
|
|
267
|
+
<pre>
|
|
268
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 831</span>
|
|
269
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cardinal_100s</span>(<span class="ruby-identifier">n</span>)
|
|
270
|
+
<span class="ruby-identifier">out</span> = []
|
|
271
|
+
<span class="ruby-identifier">q</span>, <span class="ruby-identifier">r</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">divmod</span>(<span class="ruby-value">100</span>)
|
|
272
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@@names</span>[<span class="ruby-identifier">q</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">' hundred'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">q</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
273
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span> <span class="ruby-operator">>=</span> <span class="ruby-value">20</span>
|
|
274
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@@names</span>[<span class="ruby-identifier">r</span> <span class="ruby-operator">/</span> <span class="ruby-value">10</span> <span class="ruby-operator">*</span> <span class="ruby-value">10</span>] <span class="ruby-operator">+</span> (<span class="ruby-identifier">r</span><span class="ruby-operator">%</span><span class="ruby-value">10</span><span class="ruby-operator">></span><span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@@names</span>[<span class="ruby-identifier">r</span> <span class="ruby-operator">%</span> <span class="ruby-value">10</span>] <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>)
|
|
275
|
+
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">r</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
276
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@@names</span>[<span class="ruby-identifier">r</span>]
|
|
277
|
+
<span class="ruby-keyword kw">end</span>
|
|
278
|
+
<span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
|
|
279
|
+
<span class="ruby-keyword kw">end</span>
|
|
280
|
+
</pre>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
</div>
|
|
284
|
+
|
|
285
|
+
<div id="method-M000500" class="method-detail">
|
|
286
|
+
<a name="M000500"></a>
|
|
287
|
+
|
|
288
|
+
<div class="method-heading">
|
|
289
|
+
<a href="#M000500" class="method-signature">
|
|
290
|
+
<span class="method-name">old_roman</span><span class="method-args">(n)</span>
|
|
291
|
+
</a>
|
|
292
|
+
</div>
|
|
293
|
+
|
|
294
|
+
<div class="method-description">
|
|
295
|
+
<p>
|
|
296
|
+
Convert the given number to an old Roman numeral.
|
|
297
|
+
</p>
|
|
298
|
+
<p><a class="source-toggle" href="#"
|
|
299
|
+
onclick="toggleCode('M000500-source');return false;">[Source]</a></p>
|
|
300
|
+
<div class="method-source-code" id="M000500-source">
|
|
301
|
+
<pre>
|
|
302
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 890</span>
|
|
303
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">old_roman</span>(<span class="ruby-identifier">n</span>)
|
|
304
|
+
<span class="ruby-identifier">roman_helper</span>(<span class="ruby-identifier">n</span>, <span class="ruby-ivar">@@old_romans</span>)
|
|
305
|
+
<span class="ruby-keyword kw">end</span>
|
|
306
|
+
</pre>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
|
|
311
|
+
<div id="method-M000497" class="method-detail">
|
|
312
|
+
<a name="M000497"></a>
|
|
313
|
+
|
|
314
|
+
<div class="method-heading">
|
|
315
|
+
<a href="#M000497" class="method-signature">
|
|
316
|
+
<span class="method-name">ordinal</span><span class="method-args">(n)</span>
|
|
317
|
+
</a>
|
|
318
|
+
</div>
|
|
319
|
+
|
|
320
|
+
<div class="method-description">
|
|
321
|
+
<p>
|
|
322
|
+
Convert the given number to an ordinal English number string.
|
|
323
|
+
</p>
|
|
324
|
+
<p><a class="source-toggle" href="#"
|
|
325
|
+
onclick="toggleCode('M000497-source');return false;">[Source]</a></p>
|
|
326
|
+
<div class="method-source-code" id="M000497-source">
|
|
327
|
+
<pre>
|
|
328
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 844</span>
|
|
329
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ordinal</span>(<span class="ruby-identifier">n</span>)
|
|
330
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-value str">'zeroth'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">zero?</span>
|
|
331
|
+
<span class="ruby-identifier">out</span> = []
|
|
332
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
333
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">'minus'</span>
|
|
334
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">abs</span>
|
|
335
|
+
<span class="ruby-keyword kw">end</span>
|
|
336
|
+
<span class="ruby-identifier">hundreds</span>, <span class="ruby-identifier">tens_ones</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">divmod</span>(<span class="ruby-value">100</span>)
|
|
337
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hundreds</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
338
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">cardinal</span>(<span class="ruby-identifier">hundreds</span> <span class="ruby-operator">*</span> <span class="ruby-value">100</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">tens_ones</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-value">? </span><span class="ruby-value str">'th'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>)
|
|
339
|
+
<span class="ruby-keyword kw">end</span>
|
|
340
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tens_ones</span> <span class="ruby-operator">>=</span> <span class="ruby-value">20</span>
|
|
341
|
+
<span class="ruby-identifier">tens</span>, <span class="ruby-identifier">ones</span> = <span class="ruby-identifier">tens_ones</span>.<span class="ruby-identifier">divmod</span>(<span class="ruby-value">10</span>)
|
|
342
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ones</span>.<span class="ruby-identifier">zero?</span>
|
|
343
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@@ordinal_tens</span>[<span class="ruby-identifier">tens</span>]
|
|
344
|
+
<span class="ruby-keyword kw">else</span>
|
|
345
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@@names</span>[<span class="ruby-identifier">tens</span> <span class="ruby-operator">*</span> <span class="ruby-value">10</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@@ordinal_ones</span>[<span class="ruby-identifier">ones</span>]
|
|
346
|
+
<span class="ruby-keyword kw">end</span>
|
|
347
|
+
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">tens_ones</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
348
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@@ordinal_ones</span>[<span class="ruby-identifier">tens_ones</span>]
|
|
349
|
+
<span class="ruby-keyword kw">end</span>
|
|
350
|
+
<span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
|
|
351
|
+
<span class="ruby-keyword kw">end</span>
|
|
352
|
+
</pre>
|
|
353
|
+
</div>
|
|
354
|
+
</div>
|
|
355
|
+
</div>
|
|
356
|
+
|
|
357
|
+
<div id="method-M000499" class="method-detail">
|
|
358
|
+
<a name="M000499"></a>
|
|
359
|
+
|
|
360
|
+
<div class="method-heading">
|
|
361
|
+
<a href="#M000499" class="method-signature">
|
|
362
|
+
<span class="method-name">roman</span><span class="method-args">(n)</span>
|
|
363
|
+
</a>
|
|
364
|
+
</div>
|
|
365
|
+
|
|
366
|
+
<div class="method-description">
|
|
367
|
+
<p>
|
|
368
|
+
Convert the given number to a Roman numeral.
|
|
369
|
+
</p>
|
|
370
|
+
<p><a class="source-toggle" href="#"
|
|
371
|
+
onclick="toggleCode('M000499-source');return false;">[Source]</a></p>
|
|
372
|
+
<div class="method-source-code" id="M000499-source">
|
|
373
|
+
<pre>
|
|
374
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 885</span>
|
|
375
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">roman</span>(<span class="ruby-identifier">n</span>)
|
|
376
|
+
<span class="ruby-identifier">roman_helper</span>(<span class="ruby-identifier">n</span>, <span class="ruby-ivar">@@romans</span>)
|
|
377
|
+
<span class="ruby-keyword kw">end</span>
|
|
378
|
+
</pre>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
</div>
|
|
382
|
+
|
|
383
|
+
<div id="method-M000498" class="method-detail">
|
|
384
|
+
<a name="M000498"></a>
|
|
385
|
+
|
|
386
|
+
<div class="method-heading">
|
|
387
|
+
<a href="#M000498" class="method-signature">
|
|
388
|
+
<span class="method-name">roman_helper</span><span class="method-args">(n, table)</span>
|
|
389
|
+
</a>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
<div class="method-description">
|
|
393
|
+
<p>
|
|
394
|
+
Helper method for roman numerals.
|
|
395
|
+
</p>
|
|
396
|
+
<p><a class="source-toggle" href="#"
|
|
397
|
+
onclick="toggleCode('M000498-source');return false;">[Source]</a></p>
|
|
398
|
+
<div class="method-source-code" id="M000498-source">
|
|
399
|
+
<pre>
|
|
400
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 869</span>
|
|
401
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">roman_helper</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">table</span>)
|
|
402
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Fixnum</span>
|
|
403
|
+
<span class="ruby-identifier">arg_error</span> <span class="ruby-value str">'only Fixnum values can be converted to roman numerals'</span>
|
|
404
|
+
<span class="ruby-keyword kw">end</span>
|
|
405
|
+
<span class="ruby-identifier">out</span> = []
|
|
406
|
+
<span class="ruby-identifier">table</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">decimal</span>, <span class="ruby-identifier">roman</span><span class="ruby-operator">|</span>
|
|
407
|
+
<span class="ruby-identifier">q</span>, <span class="ruby-identifier">r</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">divmod</span>(<span class="ruby-identifier">decimal</span>)
|
|
408
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">q</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
409
|
+
<span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">roman</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">q</span>
|
|
410
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">r</span>
|
|
411
|
+
<span class="ruby-keyword kw">end</span>
|
|
412
|
+
<span class="ruby-keyword kw">end</span>
|
|
413
|
+
<span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">''</span>)
|
|
414
|
+
<span class="ruby-keyword kw">end</span>
|
|
415
|
+
</pre>
|
|
416
|
+
</div>
|
|
417
|
+
</div>
|
|
418
|
+
</div>
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
</div>
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
</div>
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
<div id="validator-badges">
|
|
428
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
429
|
+
</div>
|
|
430
|
+
|
|
431
|
+
</body>
|
|
432
|
+
</html>
|
|
@@ -0,0 +1,157 @@
|
|
|
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: Lisp::Format::Directives::SExpression</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">Lisp::Format::Directives::SExpression</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../../files/lib/carat/lisp-format_rb.html">
|
|
59
|
+
lib/carat/lisp-format.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
|
+
<a href="Print.html">
|
|
69
|
+
Print
|
|
70
|
+
</a>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div id="contextContent">
|
|
82
|
+
|
|
83
|
+
<div id="description">
|
|
84
|
+
<p>
|
|
85
|
+
Represents the ~S (S-Expression) directive.
|
|
86
|
+
</p>
|
|
87
|
+
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<div id="method-list">
|
|
94
|
+
<h3 class="section-bar">Methods</h3>
|
|
95
|
+
|
|
96
|
+
<div class="name-list">
|
|
97
|
+
<a href="#M000466">new</a>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
<!-- if includes -->
|
|
105
|
+
|
|
106
|
+
<div id="section">
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
<!-- if method_list -->
|
|
116
|
+
<div id="methods">
|
|
117
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
118
|
+
|
|
119
|
+
<div id="method-M000466" class="method-detail">
|
|
120
|
+
<a name="M000466"></a>
|
|
121
|
+
|
|
122
|
+
<div class="method-heading">
|
|
123
|
+
<a href="#M000466" class="method-signature">
|
|
124
|
+
<span class="method-name">new</span><span class="method-args">(*args)</span>
|
|
125
|
+
</a>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
<div class="method-description">
|
|
129
|
+
<p>
|
|
130
|
+
Sets <tt>inspect</tt> to <tt>true</tt> in the argument list.
|
|
131
|
+
</p>
|
|
132
|
+
<p><a class="source-toggle" href="#"
|
|
133
|
+
onclick="toggleCode('M000466-source');return false;">[Source]</a></p>
|
|
134
|
+
<div class="method-source-code" id="M000466-source">
|
|
135
|
+
<pre>
|
|
136
|
+
<span class="ruby-comment cmt"># File lib/carat/lisp-format.rb, line 632</span>
|
|
137
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
138
|
+
<span class="ruby-keyword kw">super</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">true</span>)
|
|
139
|
+
<span class="ruby-keyword kw">end</span>
|
|
140
|
+
</pre>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
</div>
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
<div id="validator-badges">
|
|
153
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
154
|
+
</div>
|
|
155
|
+
|
|
156
|
+
</body>
|
|
157
|
+
</html>
|