Lua
Lua
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- First build a string that has a preprocessor include
local sbSrc = chilkat.StringBuilder.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:get_as_string())
-- sbSrc contains:
-- 1
-- 2
-- 3
-- #include <qa_data/txt/helloWorld.txt>
-- 4
-- 5
-- The qa_data/txt/helloWorld.txt file contains "Hello World!"
local filePath = sbSrc:get_after_between("#include", "<", ">")
if not sbSrc.last_method_success then
print("No #include's found.")
return
end
print("filePath: " .. filePath)
-- Load the contents of the filePath
local sbIncludeFile = chilkat.StringBuilder.new()
sbIncludeFile:load_file(filePath, "utf-8")
-- Replace the first occurrence of #include <...> line with the contents of the include file.
sbSrc:replace_all_between("#include", ">", sbIncludeFile:get_as_string(), true)
print(sbSrc:get_as_string())
-- sbSrce now contains:
-- 1
-- 2
-- 3
-- Hello World!
-- 4
-- 5