diff options
Diffstat (limited to 'tool')
-rw-r--r-- | tool/compile_prelude.rb | 18 | ||||
-rw-r--r-- | tool/serb.rb | 17 |
2 files changed, 18 insertions, 17 deletions
diff --git a/tool/compile_prelude.rb b/tool/compile_prelude.rb index e792b77406..6a8d9e1695 100644 --- a/tool/compile_prelude.rb +++ b/tool/compile_prelude.rb @@ -54,23 +54,7 @@ lines_list = preludes.map {|filename| [setup_lines, lines] } -def serb(str, var) - result = '' - str.each_line {|line| - if /\A!/ =~ line - result << $' - else - line.split(/(<%.*?%>)/).each {|x| - if /\A<%(.*)%>\z/ =~ x - result << "#{var} << (#{$1}).to_s\n" - else - result << "#{var} << #{x.dump}\n" - end - } - end - } - result -end +require 'tool/serb' tmp = '' eval(serb(<<'EOS', 'tmp')) diff --git a/tool/serb.rb b/tool/serb.rb new file mode 100644 index 0000000000..edba8966c7 --- /dev/null +++ b/tool/serb.rb @@ -0,0 +1,17 @@ +def serb(str, var) + result = '' + str.each_line {|line| + if /\A!/ =~ line + result << $' + else + line.split(/(<%.*?%>)/).each {|x| + if /\A<%(.*)%>\z/ =~ x + result << "#{var} << (#{$1}).to_s\n" + else + result << "#{var} << #{x.dump}\n" + end + } + end + } + result +end |