我有以下lua脚本,用正确的单词分隔字符串:
names = "aa bb cc dd"
words = {}
for word in names:gmatch("%w+") do table.insert(words, word) end
for k,v in pairs(words) do print(k,v) end
我正在使用一个名为Graphite的程序,这是一个计算机图形平台等等。在其自述文件中写道:
您可以编写LUA脚本并使用Graphite运行它。只需加载 使用GEL的脚本 - >执行文件。
对LUA的经验非常少,对GEL的了解不多,我在运行脚本时遇到了麻烦。经过一些谷歌搜索后我发现了这个:http://gema.sourceforge.net/new/gel.shtml#3_1, 但我仍然不太清楚凝胶与lua之间的联系是什么。在本网站中,它被描述为:Gea的Lua绑定,一种通用文本处理实用程序。
上面的脚本例如在lua解释器中按预期工作。另一方面,当我尝试将其作为.gel脚本执行时(因为上面提到的软件需要.gel脚本),它会返回语法错误。
有关如何使其作为.gel脚本运行的任何想法?或者其他可能有帮助的评论?
答案 0 :(得分:0)
如果您仔细阅读文档,您会注意到:
- 使用新语法
将lua函数嵌入到gema文件中"![" "!]"
他们还提供了一个例子:
![
function inflog(x)
if x>0 then return math.log(x)
else return "-infty"
end
end
!]
<N>=@lua{return inflog($0)}
遵循相同的示例,以下内容应该有效:
![
function split(names)
words = {}
for word in names:gmatch("%w+") do table.insert(words, word) end
for k, v in ipairs(words) do print(k, v) end
return words
end
!]
<N>=@lua{return split($0)}