推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

等同于 Matlab“whos” Lua 解释器的命令?

   2023-08-08 网络整理佚名1350
核心提示:(是的,_G.遍历该表:基本函数和模块。提供的全局变量时,您可以在启动时创建该值:然后,您可以按如下方式使用此模块:但考虑到你想要要以交互方式使用它,您应该只需要全局变量。

Lua 中的所有全局变量都作为全局变量驻留在一个表中(是的,_G._G == _G)。 因此,如果您想列出所有全局变量,可以使用pairs()来迭代表:

function whos()
    for k,v in pairs(_G) do
        print(k, type(v), v) -- you can also do more sophisticated output here
    end
end

请注意,这还将为您提供所有 Lua 基本函数和模块。您可以通过检查表中的值来过滤它们,该表是在启动时创建的,当 Lua 没有定义全局变量时:然后您可以使用

-- whos.lua
local base = {}
for k,v in pairs(_G) do
    base[k] = true
end
return function()
    for k,v in pairs(_G) do
        if not base[k] then print(k, type(v), v) end
    end
end

该模块:

$ lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> whos = require 'whos'
> a = 1
> b = 'hello world!'
> whos()
a   number  1
b   string  hello world!
whos    function    function: 0x7f986ac11490

局部变量有点困难 - 你必须使用 - 但考虑到你想要交互地使用它,你应该只需要全局变量。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON