小编Rya*_*ein的帖子

如何从C中的指针获取数组的大小?

我已经分配了一个像这样mystruct大小的"数组" n:

if (NULL == (p = calloc(sizeof(struct mystruct) * n,1))) {
 /* handle error */
}
Run Code Online (Sandbox Code Playgroud)

后来,我只能访问p,不再拥有n.有没有办法只给出指针确定数组的长度p

我认为它必须是可能的,因为free(p)就是这样.我知道malloc()它记录了它分配了多少内存,这就是它知道长度的原因; 也许有办法查询这些信息?就像是...

int length = askMallocLibraryHowMuchMemoryWasAlloced(p) / sizeof(mystruct)
Run Code Online (Sandbox Code Playgroud)

我知道我应该修改代码,以便我知道n,但如果可能,我宁愿不这样做.有任何想法吗?

c malloc pointers memory-management

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

如何终止Lua脚本?

我如何终止Lua脚本?现在我遇到了exit()问题,我不知道为什么.(这更多是Minecraft ComputerCraft的问题,因为它使用了包含的API.)这是我的代码:

while true do

    if turtle.detect() then

        if turtle.getItemCount(16) == 64 then

            exit() --here is where I get problems

        end

        turtle.dig() --digs block in front of it

    end

end
Run Code Online (Sandbox Code Playgroud)

lua minecraft computercraft

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

得到一个功能的arity

我是一名正在学习Lua的JavaScript开发人员.我遇到了在Lua语言中获得函数arity的问题.

在JavaScript中,它很简单:

function test (a, b) {}
console.log(test.length) // 2
Run Code Online (Sandbox Code Playgroud)

如何在Lua中轻松完成这项工作?

function test (a, b) end
print(#test) -- gives an error..
Run Code Online (Sandbox Code Playgroud)

javascript lua arguments function arity

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

MediaWiki上的Lua错误

我正在尝试设置MediaWiki,并尝试使用Navbox模板.我在本地计算机上运行正常,但是当我将它全部复制到服务器时,我得到了Lua脚本错误,特别是:

Lua error at line 302: attempt to call field 'attr' (a nil value).
Backtrace:
(tail call): ?
Module:Navbox:302: in function "renderMainTable"
Module:Navbox:348: in function "renderMainTable"
(tail call): ?
mw.lua:425: ?
(tail call): ?
[C]: in function "xpcall"
MWServer.lua:73: in function "handleCall"
MWServer.lua:266: in function "dispatch"
MWServer.lua:33: in function "execute"
mw_main.lua:7: in main chunk
[C]: ?
Run Code Online (Sandbox Code Playgroud)

如果我编辑该文件,那么它只会给所有其他字段带来错误.

我的服务器正在运行MediaWiki 1.20,如果这有所不同.我尝试过使用Scribunto 1.20,1.21和master(对引擎进行更改以适应1.20).

如果有人可以提供帮助,那就太好了.

编辑模块:Navbox,HtmlBuilder.

lua mediawiki mediawiki-templates scribunto

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

如何在Highcharts中为条形图添加情节线?

我试图在条形图上添加一条情节线,但它没有显示出来.我发现的所有绘图线的例子都与折线图有关但我在文档中没有看到任何说明情节线不适用于条形图.当我初始化图表并在事实之后添加它时,我尝试添加情节线,但两种方式都不起作用.

是我正在测试的例子.

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'bar'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        legend: {
            layout: 'vertical',
            floating: true,
            backgroundColor: '#FFFFFF',
            align: 'right',
            verticalAlign: 'top',
            y: 60,
            x: -60
        },
        plotLines: [{
                color: '#FF0000',
                width: 2,
                value: 80,
                zIndex: 5
            }],
        tooltip: {
            formatter: function() {
                return '<b>'+ this.series.name +'</b><br/>'+
                    this.x +': '+ this.y;
            }
        },
        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, …
Run Code Online (Sandbox Code Playgroud)

javascript highcharts

7
推荐指数
2
解决办法
5877
查看次数

填充填充算法选择具有最少邻居数的像素

我正在研究一种板块构造模拟器,它使用改变后的洪水填充算法来检测大陆.算法大致相同.唯一的区别是它适用于顶点而不是像素.

我一直在努力改善这种行为的质量 - 我想看看当它忽略具有两个邻居或更少的大陆地壳的像素/顶点时它的表现如何.是否存在支持此功能的泛洪填充算法的现有变体?

我的(有点简化)代码如下:

var group = [];
var stack = [initialVertex];
while(stack.length > 0){
    var next = stack.pop();
    if (group.indexOf(next) != -1 && isContinental(next)){
        group.push(next);
        stack = stack.concat(getNeighbors(next));
    }
}
return group 
Run Code Online (Sandbox Code Playgroud)

javascript algorithm performance flood-fill

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

Google Chrome版本的Windows注册表位置

Google Chrome浏览器在哪里将其版本信息存储在本地?

我正在开发Lua脚本来访问Windows注册表中找到的应用程序版本信息,但是找不到与当前已安装的Google Chrome浏览器版本相关的注册表项。

我发现的最接近的是,它表示可以在找到版本信息 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome

然而,我的系统上,没有Google Chrome在子项UninstallHKCU蜂巢或相应的HKEY_USERS路径。有什么想法吗?

windows registry google-chrome version

5
推荐指数
3
解决办法
7万
查看次数

func如何正常工作

因此,当我返回一个对象时,我认为它将内存地址返回给您可以引用和使用的对象(或包含内存地址的对象).

但是当你返回一个函数时实际发生了什么?

您的应用如何知道该func使用哪个对象实例?

我的直觉告诉我一个对象实例引用与func一起传递但是实际发生了什么?

我似乎无法在这个主题上找到太多.

编辑:澄清一下,我问一个方法何时返回一个函数

c# func

5
推荐指数
2
解决办法
2093
查看次数

在JavaScript中,Lua的省略号相当于什么?

在Lua中,这样的函数是有效的:

function FuncCallHack(Func, ...)
    return Func(...)
end
Run Code Online (Sandbox Code Playgroud)

有没有办法在JavaScript中做到这一点?...对于那些不熟悉Lua的人来说,意味着"未分组数组形式的所有无索引参数".我尝试过...使用JavaScript,但它似乎没有功能,而且由于Google不喜欢搜索特殊字符,所以它没有多大帮助.

javascript parameters syntax ellipsis optional-parameters

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

文件扩展名已添加到af = io.open()

我在命名日志文件时遇到问题.一旦你命名它,我希望代码本身能够在.txt扩展名上发挥作用,但是我该怎么做呢?我用它来命名它:

LogName = io.read()
f=io.open(LogName, "w")
Run Code Online (Sandbox Code Playgroud)

我尝试过f=io.open(LogName,".txt","w")和其他一些人一样.

lua filenames

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