Obtenir une liste des variables actuelles dans Julia Lang
Je suis nouvelle à Julia Lang. Je viens de L'arrière-plan de Matlab.
Dans Matlab, lorsque vous appuyez sur whos
commande j'obtiendrai toutes les variables dans le champ courant; et aussi, je peux les stocker dans une autre variable comme <!-Y a-t-il de telles commandes dans Julia?
Exemple de code dans Matlab:
>> a=3;
>> b=4;
>> whos
Variables in the current scope:
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 8 double
b 1x1 8 double
prefix 1x16 16 char
Total is 18 elements using 32 bytes.
3 réponses
Je ne sais pas s'il y a quelque chose de mieux, mais
names(Main)[4:end]
semble fonctionner. [4:end]
partie est parce qu'il comprend :Main
, :Core
et :Base
je pense que vous ne voulez pas. J'espère qu'ils seront toujours au début.
vous pouvez utiliser Julia whos
fonctionne comme la commande Matlab.
julia> whos()
Base Module
Core Module
Main Module
ans Nothing
julia> x = 5
5
julia> whos()
Base Module
Core Module
Main Module
ans Int64
x Int64
tous les modules (packages/libraries) que vous importez dans votre portée locale (en utilisant using
) va apparaître dans la liste (comme Module
s, comme Base, Core, et Main ci-dessus).
en outre, vous pouvez demander des noms exportés par Modules. Base
est le module contenant la bibliothèque standard.
julia> whos(Base)
! Function
!= Function
!== Function
$ Function
% Function
& Function
* Function
+ Function
.... (lots and lots more)
considérant que ce résultat sort de mon écran, vous pouvez comprendre pourquoi vous voulez filtrer les résultats. Pour cela, vous pouvez utiliser Regexes. (Pour plus d'informations sur les regexes de Julia, voir cette section du manuel)
julia> whos(r"M")
Main Module
julia> whos(Base, r"Match"i)
DimensionMismatch DataType
RegexMatch DataType
each_match Function
eachmatch Function
ismatch Function
match Function
matchall Function
je n'étais pas au courant de l' whos
fonction avant de vous l'a demandé, donc merci de m'aider à apprendre quelque chose de nouveau. :)
Julia question n ° 3393 sur github est sur l'ajout de capacités de mémoire à l' whos
sortie. Il fait aussi référence à faire whos
retourner une valeur plutôt que de simplement imprimer de l'information.
Une Mise À Jour:
whos()
... ne fonctionne ni à iJulia ni à L'invite de commande à Julia-1.0.0.
C'est le travail en Julia-0.6.4.
d'autre part,
varinfo()
....imprime des informations sur les variables globales exportées dans un module. Par Exemple,
julia-1.0> varinfo()
name size summary
–––––––––––––––– ––––––––––– –––––––––––––––––––––––––––––––
Base Module
Core Module
InteractiveUtils 154.271 KiB Module
Main Module
PyPlot 781.872 KiB Module
ans 50.323 KiB Plots.Plot{Plots.PyPlotBackend}
myrepl 0 bytes typeof(myrepl)
x 88 bytes 1×6 Array{Int64,2}
y 0 bytes typeof(y)
l'Espoir, c'est jugée utile.