programacion - Obtenga una lista de las variables actuales en Julia Lang
julia lenguaje de programacion (2)
No estoy seguro de si hay algo mejor, pero
names(Main)[4:end]
parece funcionar. La parte [4:end]
se debe a que incluye :Main
:Core
y :Base
que creo que no te gustaría. Espero que siempre estén al principio.
Soy nuevo en Julia Lang. Vengo del trasfondo de Matlab.
En Matlab, al presionar el comando whos
obtendré todas las variables en el alcance actual; y también, puedo almacenarlos en otra variable como x=whos;
¿Existe tal comando en Julia? Código de ejemplo en 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.
Puedes usar las funciones whos
de Julia como ese comando de 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
Todos los módulos (paquetes / bibliotecas) que importe en su ámbito local (utilizando) también aparecerán en la lista (como Module
, como Base, Núcleo y Principal arriba).
Además, puede preguntar sobre los nombres exportados por los Módulos. Base
es el módulo que contiene la biblioteca estándar.
julia> whos(Base)
! Function
!= Function
!== Function
$ Function
% Function
& Function
* Function
+ Function
.... (lots and lots more)
Teniendo en cuenta que ese resultado se desplaza muy lejos de mi pantalla, puede comprender por qué querría filtrar los resultados. Para eso puedes usar Regexes. (Para obtener más información sobre las expresiones regulares de Julia, consulte esta sección del manual )
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
No estaba al tanto de la función whos
antes de que me preguntaras, así que gracias por ayudarme a aprender algo nuevo también. :)
El número de Julia # 3393 en github se trata de agregar tamaños de memoria a la salida whos
. También hace referencia a que devuelve un valor en lugar de simplemente imprimir la información.