如何在lua中从moonscript调用函数



我有一个类似于这样的moon脚本代码:

hello = (name) ->
print "Hello #{name}!"

我想在我的lua代码中使用moonscript.loadfile

我该怎么做这样的事?

MoonScript代码编译为Lua,因此您编写的函数在执行时实际上是Lua函数。

有几种方法可以在Lua:中访问它

  • 使用moonc命令行工具提前编译文件。这将为您提供一个.lua文件,您可以像加载任何其他Lua文件一样加载该文件
  • 使用MoonScript加载程序函数之一加载文件。moonscript.loadfile是一个较低级别的函数,除非您特别需要,否则我不建议使用它。最简单的方法是在程序中调用require "moonscript",然后Lua的require函数可以直接加载MoonScript文件。有关编译器API参考页的详细信息

请记住,如果您在另一个文件中有函数,则需要将它们作为模块的一部分导出。您可以通过为模块设置一个返回值来完成此操作。典型的模式是返回一个表,该表包含您想要使用的所有函数。在MoonScript中,文件中的最后一行会自动转换为return语句。分配并不是强制返回的,所以我建议你这样构建你的模块:

hello = (name) ->
print "Hello #{name}!"
{:hello}

相关内容

  • 没有找到相关文章

最新更新