将函数调用到lua中的函数

时间:2017-10-10 17:43:30

标签: lua telegram-bot lua-telegram-bot

我在我的lua文件中有代码,我编辑它看起来像这样

function getUserinfo(user_id)
  function call_back_user_info(status , result)
     t = {["first_name"]= result.first_name_, ['have_access']= result.have_access_, ["last_name"]=result.last_name_,["user_name"]=result.username_}
    return t
  end
  getUser(user_id,call_back_user_info)
  end

当我调用getUserinfo函数时,我需要返回t表值。但是它给我一个零值! 注意:getUser函数将数据放入call_back_user_info

我怎么能解决这个问题?感谢

1 个答案:

答案 0 :(得分:1)

你不能做一个从内部函数内部从外部函数返回的“long return”。

但你可以做的是创建一个关闭的局部变量,如下所示:

function getUserinfo(user_id)
  local t

  function call_back_user_info(status , result)
    t = {["first_name"]= result.first_name_,
         ['have_access']= result.have_access_,
         ["last_name"]=result.last_name_,
         ["user_name"]=result.username_}
  end

  getUser(user_id,call_back_user_info)

  return t
end