On Sun, Apr 11, 2010 at 10:56 AM, Stuart P. Bentley
<[email protected]>wrote:
> Granted I don't know Cosmo, so I don't know if the functions have more
> involved semantics, but the beauty of Lua is you can do something like this:
>
> functions = {"fill"} -- and every other function you need to escape with
>
> for _, name in pairs(functions) do
> local original = cosmo[name]
> cosmo[name] = function(...)
> return original(string.gsub(...,"%$",%$%$"))
> end
> end
Thanks. I tried your suggestion, but it gets in the way of other constructs.
require "luarocks.require"
require("cosmo", "current-1")
functions = {"fill"} -- and every other function you need to escape with
---[[
for _, name in pairs(functions) do
local original = cosmo[name]
cosmo[name] = function(...)
return original(string.gsub(...,"%$","%$%$"))
end
end
--]]
env = {
hello_msg = "hi there"
}
print( cosmo.fill([[helo $("div").text("$hello_msg")]], env) )
gives this:
hello $("div").text("$hello_msg")
instead of the desired:
hello $("div").text("hi there")
_______________________________________________
Kepler-Project mailing list
[email protected]
http://lists.luaforge.net/cgi-bin/mailman/listinfo/kepler-project
http://www.keplerproject.org/