是否有更可读的方式为k写,v成对(my_table)do ...如果我从不使用k,则以lua结尾?

Ecn*_*ner 6 lua coding-style

在lua中有更可读的方式来编写:

for k, v in pairs(my_table) do
    myfunction( v )
end 
Run Code Online (Sandbox Code Playgroud)

我从不使用k,所以我想把它从循环控制中取出来,所以我很清楚我只是在迭代这些值.是否有像pair()这样的函数只给我一个值列表?

pra*_*pin 10

没有标准函数只迭代值,但如果您愿意,可以自己编写.这是一个迭代器:

function values(t)
  local k, v
  return function()
    k, v = next(t, k)
    return v
  end
end
Run Code Online (Sandbox Code Playgroud)

但通常人们只是使用pairs并丢弃第一个变量.在这种情况下,习惯上将未使用的变量_(下划线)命名为清楚地表明意图.


ZER*_*ERO 5

我见过人们使用_变量代替k或i.