我是lua/torch的新手.我注意到变量_被大量使用,特别是在迭代器中.例:
for _, node in ipairs(protos.rnn.forwardnodes) do
a, b = whatever(a,b)
end
Run Code Online (Sandbox Code Playgroud)
这个'变量命名约定'(可以这么说)也用于其他情况,如:
local _,loss = optimizer(feval,params, optim_state)
Run Code Online (Sandbox Code Playgroud)
_是否有任何特殊含义,或者它只是一个可变名称,在众多可能的名称中?
war*_*ing 12
_的使用通常用于返回函数中不需要的值.这是有道理的,它看起来像一片空白.它在迭代时常用的原因是因为大多数迭代器返回键,值对,而您只需要该值.
但是,_也可以用于完全相反的情况.当置于变量(例如_G
或)后面时_VERSION
,它表示它很重要,不应更改.
最后,双下划线.我只是将这些用于metamethods,比如__index
or __add
,所以如果你正在创建一个函数或API或任何检查自定义元方法的东西,请确保一致,并使用双下划线.
所以最后,它只是一个命名约定,完全是自以为是和可选的.
归档时间: |
|
查看次数: |
8681 次 |
最近记录: |