当前位置:  开发笔记 > 编程语言 > 正文

变量_在lua中有特殊含义吗?

如何解决《变量_在lua中有特殊含义吗?》经验,为你挑选了2个好方法。

我是lua/torch的新手.我注意到变量_被大量使用,特别是在迭代器中.例:

for _, node in ipairs(protos.rnn.forwardnodes) do
    a, b = whatever(a,b)
end

这个'变量命名约定'(可以这么说)也用于其他情况,如:

local _,loss = optimizer(feval,params, optim_state)

_是否有任何特殊含义,或者它只是一个可变名称,在众多可能的名称中?



1> DavisDude..:

它通常用作一次性变量.它没有"真正的"特殊含义,但用于表示所指示的值并不重要.

当你想忽略变量时,通常只使用下划线"_"组成的变量作为占位符...

在此处阅读更多内容(在命名部分下).



2> warspyking..:

_的使用通常用于返回函数中不需要的值.这是有道理的,它看起来像一片空白.它在迭代时常用的原因是因为大多数迭代器返回键,值对,而您需要该值.

但是,_也可以用于完全相反的情况.当置于变量(例如_G或)后面时_VERSION,它表示它很重要,不应更改.

最后,双下划线.我只是将这些用于metamethods,比如__indexor __add,所以如果你正在创建一个函数或API或任何检查自定义元方法的东西,请确保一致,并使用双下划线.

所以最后,它只是一个命名约定,完全是自以为是和可选的.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有