Ruby
Ruby
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat Ruby Downloads
require 'chilkat'
# First build a string that has a preprocessor include
sbSrc = Chilkat::CkStringBuilder.new()
sbSrc.Append("1\r\n2\r\n3\r\n")
sbSrc.Append("#include <qa_data/txt/helloWorld.txt>\r\n")
sbSrc.Append("4\r\n5\r\n")
print sbSrc.getAsString() + "\n";
# sbSrc contains:
# 1
# 2
# 3
# #include <qa_data/txt/helloWorld.txt>
# 4
# 5
# The qa_data/txt/helloWorld.txt file contains "Hello World!"
filePath = sbSrc.getAfterBetween("#include","<",">")
if (sbSrc.get_LastMethodSuccess() != true)
print "No #include's found." + "\n";
exit
end
print "filePath: " + filePath + "\n";
# Load the contents of the filePath
sbIncludeFile = Chilkat::CkStringBuilder.new()
sbIncludeFile.LoadFile(filePath,"utf-8")
# Replace the first occurrence of #include <...> line with the contents of the include file.
sbSrc.ReplaceAllBetween("#include",">",sbIncludeFile.getAsString(),true)
print sbSrc.getAsString() + "\n";
# sbSrce now contains:
# 1
# 2
# 3
# Hello World!
# 4
# 5