update programacion lenguaje language julialang downloads docs books julia-lang

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.