This module contains methods for converting plain integers (base 10) into words that are easier to read and remember.
For example, the equivalent of the (base 10) integer 1329724967 is “takeshimaya”.
Mnemo uses 70 of the syllables of the Japanese language, it is thus a base 10 to base 70 converter.
Mnemo is meant to be used for generating human readable (or more easily rememberable) identifiers. Its first usage is within the OpenWFEru Ruby workflow and bpm engine for generating 'kawaii' business process instance ids.
require 'rubygems' require 'rufus/mnemo' s = Rufus::Mnemo::from_integer 125704 puts s # => 'karasu' i = Rufus::Mnemo::to_integer s # => 125704
You can use Mnemo directly from the command line :
$ ruby mnemo.rb kotoba 141260 $ ruby mnemo.rb rubi 3432 $ ruby mnemo.rb 2455 nada
might be useful when used from some scripts.
Turns the given integer into a Mnemo word.
# File lib/rufus/mnemo.rb, line 104 def Mnemo.from_integer (integer) return "#{NEG}#{from_integer(-integer)}" if integer < 0 s = from_i(integer) to_special(s) end
Returns if the string is a Mnemo word, like “fugu” or “toriyamanobashi”.
# File lib/rufus/mnemo.rb, line 146 def Mnemo.is_mnemo_word (string) begin to_integer(string) true rescue #Exception => e false end end
Given a Mnemo ‘word’, will split into its list of syllables. For example, “tsunashima” will be split into
# File lib/rufus/mnemo.rb, line 135 def Mnemo.split (word) word = from_special(word) a = string_split(word) a_to_special(a) end
Turns the given Mnemo word to its equivalent integer.
# File lib/rufus/mnemo.rb, line 114 def Mnemo.to_integer (string) s = from_special(string) to_i(s) end
Turns a simple syllable into the equivalent number. For example Mnemo::to_number(“fu”) will yield 19.
# File lib/rufus/mnemo.rb, line 123 def Mnemo.to_number (syllable) SYL.each_with_index do |s, index| return index if syllable == s end raise "did not find syllable '#{syllable}'" end
Generated with the Darkfish Rdoc Generator 2.