小编jpj*_*obs的帖子

没有找到包'lua',但我安装了它

我正在尝试在Ubuntu 10.4 LTS上安装Lsyncd但我收到一些错误:

> checking for LUA... no checking for
> LUA... no checking for LUA...
> configure: error: Package requirements
> (lua >= 5.1.3) were not met:
> 
> No package 'lua' found
> 
> Consider adjusting the PKG_CONFIG_PATH
> environment variable if you installed
> software in a non-standard prefix.
> 
> Alternatively, you may set the
> environment variables LUA_CFLAGS and
> LUA_LIBS to avoid the need to call
> pkg-config. See the …
Run Code Online (Sandbox Code Playgroud)

ubuntu lua pkg-config

31
推荐指数
3
解决办法
4万
查看次数

MATLAB中的笛卡尔积

这是我遇到的问题的简化版本.假设我有一个向量

p = [1 5 10]

还有一个

q = [.75 .85 .95].

我想提出以下矩阵:

res = [1,.75; 1,.85; 1,.95; 5,.75; 5,.85; 5,.95; 10,.75; 10,.85; 10,.95].

这也称为笛卡尔积.我怎样才能做到这一点?

非常感谢

matlab matrix cartesian-product

16
推荐指数
2
解决办法
2万
查看次数

如何在lua中string.find方括号字符?

所以我试图在字符串中找到方括号:

s = "testing [something] something else"
x,y = string.find(s,"[")
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误:格式错误的模式(缺少']').

我也尝试过:

x,y = string.find(s,"\[")
Run Code Online (Sandbox Code Playgroud)

给我同样的错误.

还有这个:

x,y = string.find(s,"\\[")
Run Code Online (Sandbox Code Playgroud)

在这种情况下,x和y为零.

有关如何正确做到这一点的任何想法?提前致谢.

string lua pattern-matching

8
推荐指数
2
解决办法
7517
查看次数

Luabind如何运作?

我对Luabind包装器如何在lua_State *L没有使用Lua堆栈的情况下传递函数感兴趣.

Luabind怎么样:

  1. 算数函数参数?
  2. 将函数参数链接到Lua堆栈?
  3. 链接这些类

我不是要尝试像Luabind那样创建另一个绑定到其他库.我只是想知道他们是怎么做到的.只是一个好奇的男人.

lua bind function wrapper

6
推荐指数
2
解决办法
1513
查看次数

从Android应用程序调用Lua脚本

首先让我澄清一些事情:

我不是试图从命令行运行一个Lua脚本.
我不是想从Lua调用任何android函数

因此,除此之外,我正在努力做到这一点.

从Android Activity直接或间接调用(JNI/SL4A)Lua脚本并返回活动中的结果.

现在看一下SL4A的文档,我看到了一些缺点:

1)我找不到文档说它允许以编程方式调用Lua.2)看起来SL4A可能需要作为单独的应用程序安装(不是太无用).

我看到的唯一其他选项是NDK交叉编译所有Lua,然后尝试以某种方式在C代码中调用它.

lua android

6
推荐指数
1
解决办法
6390
查看次数

Intellij IDEA定制自动完成

我想在IntelliJ Idea上自动完成...我正在学习基于Lua的moaiSDK.我已经在Idea中设置了Lua插件,并且有一个工作的lua环境.现在我想在Idea上使用Moai API.我在这里看到HTML文档:http://getmoai.com/docs/index.html,但是没有这个领域的经验我不知道如果它是可行的以及如何.提前致谢

lua intellij-idea

6
推荐指数
1
解决办法
2606
查看次数

让arg在Lua 5.2中的varag函数中工作(集成在Delphi中)

使用Lua 5.2 API时,下面的代码打印"nil"

function __debug(szName, ...)
    print(type(arg));
end

__debug("s", 1, 2, 3, 4);
Run Code Online (Sandbox Code Playgroud)

但是这个代码在使用Lua 5.1时会起作用,并打印"table"

delphi lua

4
推荐指数
1
解决办法
2496
查看次数

matlab parfor导致比for循环更大的执行时间

我有一个3维网格,其中对于网格的每个点,我想计算大量时间步长的时间相关函数G(t),然后对每个网格点求G函数.使用4 for循环,执行时间变得非常大,所以我试图使用parfor来避免这种情况.

我的代码的一部分:

for i=1:50
    for j=1:50
        for k=1:25
            x_in=i*dx;
            y_in=j*dy;
            z_in=k*dz;
            %dx,dy, dz are some fixed values
            r=sqrt((xx-x_in).^2+(yy-y_in).^2+(zz-z_in).^2);
            %xx,yy,zz are 50x50x25 matrices generated from meshgrid
            % r is a 3d matrix which produced from a 3 for-loop, for all the points of grid
            parfor q=1:100
                t=0.5*q;
                G(q)=((a*p)/(t.^1.5)).*(exp(-r.^2/(4*a*t)));
                % a,p are some fixed values
            end
            GG(i,j,k)=sum(G(:));
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

当我使用时parfor,执行时间变得更大,我不确定为什么会这样.也许我对parfor循环中的切片和索引变量不太熟悉.

我的电脑处理器有8个线程和ram内存ddr3 8GB

任何帮助都会很棒.

谢谢

matlab for-loop

3
推荐指数
1
解决办法
611
查看次数

来自不同lua类的lua中的调用函数

我有一个功能

function f1(msg) return value end
Run Code Online (Sandbox Code Playgroud)

在Lua文件A.lua中,我如何从B.lua调用此函数或返回此函数的结果谢谢Jp

lua function

2
推荐指数
1
解决办法
3308
查看次数

从语言环境中隔离lua

我正在考虑将Lua嵌入到C++应用程序中(在FreeBSD 8.2下运行).但基准测试显示在某些情况下表现不佳.特别是当Lua尝试将字符串转换为数字并比较字符串时,它变得更慢,更糟糕的是,破坏了可扩展性(8个核心的性能比1个差!).我现在认为它是语言环境,因为当我避免自动转换时,一切正常.但对于现实生活,我需要进行字符串比较和数字转换.我怎么能够:

  1. 将Lua与语言环境隔离开来,即确保Lua的所有函数都没有间接使用语言环境.例如,我可以提供自己的转换和比较功能吗?

  2. 或者完全禁用语言环境.我试过setlocale (LC_ALL, "C"),它运行正常(区域设置更改),但瓶颈仍然存在

更新:

按照lhf的建议,我直接进入了Lua库代码.我发现的是几十个使用(官方)依赖于语言环境的功能的地方.要删除所有这些都需要花费太多精力,必须有更好的方法.我试着测量哪一个不能缩放.我还添加了一些其他常用函数,以及我自己的一些兴趣(Lua解释器创建和销毁,设置全局变量等).结果如下.正确的百分比必须是700%,即7个线程必须比1个线程执行7倍:

           nop:  824%  (1:106867300/7:881101495)
    sprintf %f:   57%  (1:2093975/7:1203949)
 sprintf %.14g:   51%  (1:2503818/7:1278312)
sprintf %.14lf:   73%  (1:2134432/7:1576657)
   sprintf %lf:   64%  (1:2083480/7:1340885)
    sprintf %d:  601%  (1:6388005/7:38426161)
     sscanf %s:  181%  (1:8484822/7:15439285)
     sscanf %f:  712%  (1:3722659/7:26511335)
     lua_cycle:  677%  (1:113483/7:768936)
    set_global:  715%  (1:1506045/7:10780282)
set_get_global:  605%  (1:2814992/7:17044081)
       strcoll:  670%  (1:38361144/7:257300597)
        getenv:  681%  (1:8526168/7:58131030)
       isdigit:  695%  (1:106894420/7:743529202)
       isalpha:  662%  (1:80771002/7:535055196)
    isalpha(r):  638%  (1:78232353/7:499207555)
        strtol:  694%  (1:16865106/7:117208528)
        strtod:  749%  (1:16727244/7:125323881)
          time:  168%  (1:727666/7:1225499)
  gettimeofday:  162%  (1:727549/7:1183433)
Run Code Online (Sandbox Code Playgroud)

数字从一次运行变为另一次运行,但是大图仍然保持一致:sprintf双转换比单线程更差.时间和gettimeofday规模严重.带有%s的sscanf也很差,这是非常令人惊讶的,但在我的情况下不是问题.

最后它可能根本不是语言环境.我将Lua转换从sprintf更改为一些简化的手工代码,到目前为止一切正常.

顺便说一句,第一个基准测试是在Linux桌面上运行的,没有显示出任何奇怪 …

lua locale

2
推荐指数
1
解决办法
612
查看次数

你如何在Lua本地加载包?

如果我有一个名为test1.lua的文件

function print_hi()
   print("hi")
end
Run Code Online (Sandbox Code Playgroud)

我想让函数可用于另一个名为test2.lua的文件,我写道:

require 'test1'
function print_hi_and_bye()
   print_hi()
   print('bye')
end
Run Code Online (Sandbox Code Playgroud)

但是,现在让我说我有一个名为test3.lua的第三个函数,我想要公开print_hi_and_bye()但不是print_hi().如果我需要'test2',我将可以访问print_hi和print_hi_and_bye()函数.我如何解决这个问题并将test1的本地函数保存到test2,以便其他任何东西都不会错误地使用它们?有没有办法用lua的加载工具来做这个,而不仅仅是通过重构代码?

谢谢

lua load

2
推荐指数
1
解决办法
794
查看次数

如何关闭地图和文本框

我是Coronoa和Lua的新手,我正在试图弄清楚如何关闭地图和文本框.地图和文本框出现在主屏幕上,我能够创建一个按钮(只是一个类型的黑色x)并使其关闭,但我无法关闭地图或文本框.下面是我正在使用的代码片段,但我被卡住了.我搜索了Google,并阅读了他们的文档,我只是遗漏了一些东西.

 local obj = display.newImageRect( "closeButton.jpg" ,25,25 )
            obj.x = 60
            obj.y = 410     -- replaced with newImageRect for dynamic scaling (adjust X & Y as required)

    obj.touch = function (event)
             local btn = event.target
                if event.phase == "ended" then 
                btn.alpha = 0  -- example to show the function doing something
                myMap.alpha = 0
                textBox.alpha = 0
            end

    end

    -- begin detecting touches
    obj:addEventListener( "touch", obj.touch)

myMap = native.newMapView( 25, 0, 275, 180 )
myMap.mapType = "hybrid" -- other mapType …
Run Code Online (Sandbox Code Playgroud)

lua android coronasdk

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