【问题标题】:How to call a function from moonscript in lua?如何在lua中从moonscript调用函数?
【发布时间】:2017-01-15 17:52:17
【问题描述】:

我有一个这样的月球脚本代码:

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

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

我应该怎么做这样的事情?

【问题讨论】:

    标签: lua moonscript lua-loadfile


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-08-15
      • 2013-12-22
      • 2011-02-01
      • 2015-07-14
      • 2015-04-03
      • 1970-01-01
      • 2019-06-08
      • 2011-02-19
      • 2018-09-11
      相关资源
      最近更新 更多