class FunctionalBrainruby::Generator
Constants
- ONE
- TEMPLATE
Public Class Methods
new(string)
click to toggle source
# File lib/functional_brainruby/generator.rb, line 10 def initialize(string) @string = string @esocode = esostring(string) end
Public Instance Methods
to_functional_brainruby()
click to toggle source
# File lib/functional_brainruby/generator.rb, line 15 def to_functional_brainruby TEMPLATE.result(binding) end
Private Instance Methods
esonum_from_char(char)
click to toggle source
# File lib/functional_brainruby/generator.rb, line 25 def esonum_from_char(char) '__[' + char.ord.to_s(2).reverse.split('').map.with_index { |digit, index| if digit == "1" if index == 0 "__[#{ONE}]" else "#{index.times.map { "_[" }.join}#{ONE}#{index.times.map { ",#{ONE}]" }.join}" end end }.compact.join('--') + "]" end
esostring(string)
click to toggle source
# File lib/functional_brainruby/generator.rb, line 21 def esostring(string) %Q{""#{string.each_char.map { |char| "<<#{esonum_from_char(char)}" }.join}} end