0

我的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表值。但它给我一个 nil 值!注意:getUser 函数将数据放入 call_back_user_info

我该如何解决这个问题?感谢

4

1 回答 1

1

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

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

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
于 2017-10-10T21:33:27.907 回答