Compruebe si los objetos o variables están definidos en Julia: métodos isdefined() y @isdefined()

Es isdefined()una función incorporada en julia que se usa para probar si la variable global especificada o el campo de objeto está definido o no. Los parámetros pasados ​​pueden ser un módulo y un símbolo o un objeto compuesto y un nombre de campo (como un símbolo) o índice.

Sintaxis:
está definido(m::Módulo, s::Símbolo)
o
está definido(objeto, s::Símbolo)
o
está definido(objeto, índice::Int)

Parámetros:

  • m::Module: Módulo especificado.
  • s::Symbol: Símbolo especificado.
  • objeto: objeto compuesto especificado.
  • index::Int: índice especificado.

Devuelve: Devuelve verdadero para la variable global especificada definida o el campo de objeto; de lo contrario, devuelve falso.

Ejemplo:

# Julia program to illustrate 
# the use of isdefined() method
   
# Getting true for the defined 
# specified global variable or 
# object field else returns false.
println(isdefined(Base, :sum))
println(isdefined(Base, :num))
println(isdefined(Base, :NonExistentMethod))
  
# Initialising a composite type value with 
# Floor division operator
a = 2//3;
println(isdefined(a, 1))
println(isdefined(a, 2))
println(isdefined(a, :num))
println(isdefined(a, :numerator))

Producción:

true
true
false
true
true
true
false

@se define()

Es @isdefined()una función incorporada en julia que se usa para probar si la variable especificada s está definida en el ámbito actual o no.

Sintaxis:
@isdefined s

Parámetros:

  • s: Variable especificada.

Devuelve: Devuelve verdadero si la variable especificada s está definida en el ámbito actual; de lo contrario, devuelve falso.

Ejemplo:

# Julia program to illustrate 
# the use of @isdefined() method
   
# Getting true if the specified variable
# s is defined in the current scope
# else returns false.
function f()
    println(@isdefined x)
    x = 10
    println(@isdefined x)
    end
f (generic function with 1 method)
println(f())

Producción:

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *