Julia : varinfo() 与工作空间,@isdefined, @which

有时侯想知道,工作空间中有哪些 变量,你可以用varinfo()函数:
如何找到变量a?


julia> a =1
1

julia> data =varinfo()
name                    size summary
–––––––––––––––– ––––––––––– –––––––––––
Base                         Module
Core                         Module
InteractiveUtils 157.063 KiB Module
Main                         Module
a                    8 bytes Int64
ans                1.385 KiB Markdown.MD

julia> typeof(data)
Markdown.MD

Markdown.MD 是一个很什么东东?

julia> dump(data)
Markdown.MD
  content: Array{Any}((1,))
    1: Markdown.Table
      rows: Array{Array{Any,1}}((7,))
        1: Array{Any}((3,))
          1: String "name"
          2: String "size"
          3: String "summary"
        2: Array{Any}((3,))
          1: String "Base"
          2: String ""
          3: String "Module"
        3: Array{Any}((3,))
          1: String "Core"
          2: String ""
          3: String "Module"
        4: Array{Any}((3,))
          1: String "InteractiveUtils"
          2: String "157.063 KiB"
          3: String "Module"
        5: Array{Any}((3,))
          1: String "Main"
          2: String ""
          3: String "Module"
        6: Array{Any}((3,))
          1: String "a"
          2: String "8 bytes"
          3: String "Int64"
        7: Array{Any}((3,))
          1: String "ans"
          2: String "1.385 KiB"
          3: String "Markdown.MD"
      align: Array{Symbol}((3,))
        1: Symbol l
        2: Symbol r
        3: Symbol l
  meta: Dict{Any,Any}
    slots: Array{UInt8}((16,)) UInt8[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
    keys: Array{Any}((16,))
      1: #undef
      2: #undef
      3: #undef
      4: #undef
      5: #undef
      ...
      12: #undef
      13: #undef
      14: #undef
      15: #undef
      16: #undef
    vals: Array{Any}((16,))
      1: #undef
      2: #undef
      3: #undef
      4: #undef
      5: #undef
      ...
      12: #undef
      13: #undef
      14: #undef
      15: #undef
      16: #undef
    ndel: Int64 0
    count: Int64 0
    age: UInt64 0x0000000000000000
    idxfloor: Int64 1
    maxprobe: Int64 0

再细看:

julia> dump(data.content[1])
Markdown.Table
  rows: Array{Array{Any,1}}((7,))
    1: Array{Any}((3,))
      1: String "name"
      2: String "size"
      3: String "summary"
    2: Array{Any}((3,))
      1: String "Base"
      2: String ""
      3: String "Module"
    3: Array{Any}((3,))
      1: String "Core"
      2: String ""
      3: String "Module"
    4: Array{Any}((3,))
      1: String "InteractiveUtils"
      2: String "157.063 KiB"
      3: String "Module"
    5: Array{Any}((3,))
      1: String "Main"
      2: String ""
      3: String "Module"
    6: Array{Any}((3,))
      1: String "a"
      2: String "8 bytes"
      3: String "Int64"
    7: Array{Any}((3,))
      1: String "ans"
      2: String "1.385 KiB"
      3: String "Markdown.MD"
  align: Array{Symbol}((3,))
    1: Symbol l
    2: Symbol r
    3: Symbol l

如何找到变量a?

julia> data.content[1].rows[1]
3-element Array{Any,1}:
 "name"
 "size"
 "summary"

julia> data.content[1].rows[2]
3-element Array{Any,1}:
 "Base"
 ""
 "Module"

julia> data.content[1].rows[3]
3-element Array{Any,1}:
 "Core"
 ""
 "Module"

julia> data.content[1].rows[4]
3-element Array{Any,1}:
 "InteractiveUtils"
 "157.063 KiB"
 "Module"

julia> data.content[1].rows[5]
3-element Array{Any,1}:
 "Main"
 ""
 "Module"

julia> data.content[1].rows[6]
3-element Array{Any,1}:
 "a"
 "8 bytes"
 "Int64"

julia> data.content[1].rows[6][1]
"a"

更简单的方式,可以考虑:

julia> @isdefined a   # a是否出现在工作空间中?
true

julia> @which a 
Main
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值