You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Julia REPL会话中列出特定类型的变量?

在Julia REPL中列出所有Dict类型变量的方法

你可以通过以下方式快速筛选出当前作用域中属于Dict类型(及其子类型)的变量:

方法一:使用filter结合names与isa

在REPL中执行以下代码:

filter(var_name -> eval(var_name) isa Dict, names(Main, all=true))
  • names(Main, all=true):获取Main模块(REPL默认作用域)下的所有变量名,包括以下划线开头的隐藏变量;若不需要隐藏变量,去掉all=true即可。
  • eval(var_name):根据变量名获取对应的变量值。
  • isa Dict:判断变量值是否属于Dict类型(包括带具体参数的子类型,比如Dict{String, Int})。

示例演示

先定义几个测试变量:

num = 42
str_dict = Dict("name" => "Julia")
int_dict = Dict{Int, Float64}(1 => 3.14)
arr = [1, 2, 3]

执行筛选代码后,会返回结果:

2-element Vector{Symbol}:
 :str_dict
 :int_dict

方法二:使用typeof与子类型判断

也可以用typeof结合子类型运算符<:实现相同效果:

filter(var_name -> typeof(eval(var_name)) <: Dict, names(Main))

这种写法和isa的逻辑等价,都是判断变量类型是否属于Dict的范畴。

内容的提问来源于stack exchange,提问作者dmbiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:45:49