Sample code for 30+ languages & platforms
Lua

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat Lua Downloads

Lua
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