标签: lua

嵌入式脚本语言,带有用于多线程环境的C/C++ API

我正在寻找一种嵌入式脚本语言.

我不需要任何花哨的东西,只需要条件,循环,逻辑和算术运算等基本结构.

我有以下要求

  1. 线程友好 - 即没有"全局解释器锁"(python因此而出)
  2. 廉价的"解释器实例"创建 - 我可能有100个这样的.据我所知,lua每个都创建一个单独的gc线程,Lua_State这意味着lua已经出局了.
  3. 没有gc或refcounting或任何其他"动态"内存管理.一旦脚本执行,它应该简单地销毁任何变量.同样,python和lua都出局了.
  4. 当然它应该很快并且内存占用少.
  5. 应该适用于Windows,GNU/Linux和MacOS X.

任何帮助都非常感谢.

c c++ python scripting lua

0
推荐指数
1
解决办法
315
查看次数

如何在lua中找到正弦^ -1(正弦反转)

我只需要一个能给我反转正弦的函数.我尝试过使用math.sin(x)^ - 1但这不起作用......你怎么在lua中找到一个数字的倒置正弦?

math lua trigonometry inverse invert

0
推荐指数
1
解决办法
1492
查看次数

如何按字符串长度和分隔符拆分字符串?

当主字符串超过30个字符时,我正在尝试将字符串拆分为2个字符串.我想使用的分隔符是字符之间的简单空格(主字符串中单词之间的最后一个空格),因此它不会剪切字.我要求你们帮忙,因为我对Lua的模式不是很了解.

lua split

0
推荐指数
1
解决办法
1011
查看次数

Lua if语句错误

我有这个if语句,当我运行它时,它会重新发出一个错误:"')'expected"

if (a=1 and b=4 and c=width/2) or (a=2 and b=1 and c=width/2) then
...
end
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?或者是lua有什么问题吗?

lua if-statement

0
推荐指数
1
解决办法
136
查看次数

你是否允许在lua表中使用数字键?

以下示例应该创建一个表,可以在数字和字符串之间转换,然后再返回,但无法运行.

是因为我在字典类型中使用数字键吗?或者是因为lua从1开始表索引?

有没有更好的方法来实现这一目标?

dyeColor = {
    0="black"    ,  black     = 0,
    1="red"      ,  red       = 1, 
    2="green"    ,  green     = 2,
    3="brown"    ,  brown     = 3,
    4="blue"     ,  blue      = 4,
    5="purple"   ,  purple    = 5,
    6="cyan"     ,  cyan      = 6,
    7="lightGray",  lightGray = 7,
    8="gray"     ,  gray      = 8,
    9="pink"     ,  pink      = 9,
    10="lime"     ,  lime      =10,
    11="yellow"   ,  yellow    =11,
    12="lightBlue",  lightBlue =12,
    13="magenta"  ,  magenta   =13,
    14="orange"   ,  orange    =14,
    15="white"    ,  white     =15}
Run Code Online (Sandbox Code Playgroud)

使用这个在线翻译(http://repl.it/languages/Lua …

lua dictionary lua-table

0
推荐指数
1
解决办法
1443
查看次数

moonscript类的Lua输出是MASSIVE

我希望能够使用MoonScript为ComputerCraft制作一个程序,但由于CC的沙盒方式可以防止Minecraft服务器上的安全问题,我不能直接要求moonscript并从那里运行moonscript代码.我必须将我的moonscript代码转换为lua.

然而,这是有问题的,因为moonscript的类实现非常大,并且不是非常文件化保守的.当我输入"class Bacon"时,它会为lua输出:

local Bacon
do
  local _parent_0 = nil
  local _base_0 = { }
  _base_0.__index = _base_0
  if _parent_0 then
    setmetatable(_base_0, _parent_0.__base)
  end
  local _class_0 = setmetatable({
    __init = function(self, ...)
      if _parent_0 then
        return _parent_0.__init(self, ...)
      end
    end,
    __base = _base_0,
    __name = "Bacon",
    __parent = _parent_0
  }, {
    __index = function(cls, name)
      local val = rawget(_base_0, name)
      if val == nil and _parent_0 then
        return _parent_0[name]
      else
        return val
      end
    end,
    __call = …
Run Code Online (Sandbox Code Playgroud)

lua moonscript

0
推荐指数
1
解决办法
1711
查看次数

Corona SDK数据存储在模拟器上

Corona SDK的新手,我正在试图找出一种在模拟器上加载和保存文件(存储游戏数据)的方法.(我不想在真实设备上进行调试,每次只需要15秒才能看到变量).

我按照这里的教程:http://www.coronalabs.com/blog/2011/08/03/tutorial-exploring-json-usage-in-corona/ ,在找不到解决此问题的stackoverflow上找不到任何内容.

现在我有以下代码用于读取和存储文件:

local readJSONFile = function( filename, base )

    -- set default base dir if none specified
    if not base then base = system.ResourceDirectory; end

    -- create a file path for corona i/o
    local path = system.pathForFile( filename, base )

    -- will hold contents of file
    local contents

    -- io.open opens a file at path. returns nil if no file found
    local file = io.open( path, "r" )
    if file then
       -- read all …
Run Code Online (Sandbox Code Playgroud)

mobile lua persistence coronasdk

0
推荐指数
1
解决办法
1684
查看次数

使用字符串名称创建表

我创建了很多字符串变量名称,我想使用名称作为表名,即:

 sName1 = "test"
 sName2 = "test2"

 tsName1 ={} -- would like this to be ttest ={}
 tsName2 ={} -- ttest2 = {}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何使这个工作,已经经历了[]和.的各种组合,但在运行时我总是得到一个索引错误,任何帮助将不胜感激.

lua

0
推荐指数
1
解决办法
95
查看次数

请帮我简化一下这个表达方式

这是我所拥有的一系列三角形代码.我想知道是否有办法简化它以使其更快.谢谢

abs((a%(2*math.pi)-b%(2*math.pi))%(2*math.pi)-math.pi)
Run Code Online (Sandbox Code Playgroud)

lua trigonometry

0
推荐指数
1
解决办法
109
查看次数

Corona string.find():找到"."

我正在尝试将一个字符串分成两部分,用一个'.'字符分隔.但string.find()功能无法处理

我有这种字符串

local test = "345345.57573"
Run Code Online (Sandbox Code Playgroud)

我试过了

local start = string.find( test, "." )
local start = string.find( test, "\." )
local start = string.find( test, "(%w+).(%w+)" )
Run Code Online (Sandbox Code Playgroud)

但它们都没有奏效.String.find()总是返回1false.可能是什么问题?

编辑:我也尝试使用gsub和更改.与另一个角色,但它也没有工作

string lua coronasdk lua-patterns

0
推荐指数
1
解决办法
954
查看次数