Funciones en Julia

Una función en Julia es un objeto que toma una tupla de argumentos y la asigna a un valor de retorno. Una función puede ser puramente matemática o puede alterar el estado de otro objeto en el programa.
Con la función de Julia, podemos escribir cálculos más grandes pero en muy pocas líneas de código, ya que la función admite algunas notaciones completas. Crear y usar funciones en Julia es muy fácil.

Definición de una función

Las funciones en Julia pueden ser de múltiples tipos según el requisito. Algunos de estos tipos se enumeran a continuación:

  • Una función con una sola expresión.
  • Una función con múltiples expresiones.
  • Una función sin argumento
  • Una función con argumentos variables, etc.

Definir una función es tan fácil como llamar a una función, simplemente escriba la palabra clave predefinida functiony proporcione un nombre_función. Una función se puede asignar con una sola expresión a seguir o varias expresiones o ninguna expresión. No es necesario proporcionar expresiones a algunas funciones para realizar operaciones. Por ejemplo, operador de suma matemática (+): solo se puede llamar con argumentos y la función devolverá la salida como suma de esos argumentos.

Nota: Al igual que las declaraciones de bucle, una función también necesita una declaración final para marcar el cierre de la función.

Ejemplo:

# Defining a function
function fn()
    println("this is a function")
end
  
# Function call
fn()

Producción:

this is a function

Función con argumentos

Las funciones con argumentos también se pueden crear pasando una tupla de argumentos. La definición de dicha función también es como la anterior pero con una pequeña modificación. Además, las funciones se pueden asignar con otros nombres o podemos decir que la función se copia de un nombre a otro.

# Defining a function with arguments
function add_fn(x, y)
    println(x + y)
end
  
# Assigning another name to function
another_add = add_fn
  
# Calling defined function
add_fn(7, 8)
  
# Calling function by new name
another_add(6, 7)

Producción:

15
13

Taquigrafía que define una función

También se puede definir una función de una sola línea usando ‘=’ (operador de asignación). El uso de dicha notación es útil ya que ahorrará tiempo y líneas de código fuente.

# Defining a shorthand function
add_fn(x, y) = println(x + y)
  
# Function call
add_fn(7, 8)

Producción:

15

Uso de Return en una función

En algún momento queremos que nuestra función devuelva algún valor que pueda usarse para algún cálculo. Para devolver un valor de una función, se utiliza la palabra clave return . Esto devolverá el valor calculado según las instrucciones definidas en la función, a la declaración desde donde se llama a la función. Una declaración de retorno también se puede usar para calcular la operación de la función simplemente escribiendo la operación completa después de la declaración de retorno. Esto dará como resultado menos líneas de código, al no escribir las declaraciones para calcular y luego devolver el valor calculado.

# Defining a function
function add_fn(x, y)
  
    # Defining return statement
    return x + y
end
  
# Function call
z = add_fn(1, 9)
println(z)

Producción:

10

El código anterior tomará valores de ‘x’ e ‘y’ como argumentos y luego los devolverá después de agregar ‘x’ e ‘y’ y almacenará el resultado devuelto en otra variable ‘z’ desde donde se llama a la función.

Nota:
Cada vez que se devuelve algo, se sale de la función. Entonces, la declaración después de la declaración de devolución no funcionará.

Ejemplo:

# Defining a function
function fn(x, y)
  
    # Return statement
    return x * y
    println("This is not executed")
end
  
# Function call
out = fn(7, 7)
  
println(out)

Producción:

49

Como en el código anterior, la salida es solo lo que se devuelve y la declaración después de la devolución no se ejecuta.

Saltarse la declaración de devolución

No hay necesidad de usar returnuna palabra clave si estamos usando solo una función de declaración de adentro hacia afuera. Esto se debe a que Julia devuelve automáticamente la salida de la última declaración procesada en la función.

# Defining function
function f(x, y)
    x * x
end
function g()
    println("printed data is returned")
end
  
# Function call
out1 = f(5, 5)
out2 = g()
  
println(out1)
println(out2)

Producción:

25
printed data is returned

Uso de operadores como funciones

En Julia, los operadores también se pueden usar como una función. Los operadores como +, -, *, etc. son funciones. Dado que los operadores pueden funcionar como funciones, podemos alias (dar otro nombre) a un operador.

Nota: Al asignar un operador a una variable, la línea de declaración debe terminar con un ; (punto y coma). De lo contrario se generará un Error.

Ejemplo:

# Performing addition operation directly
a = 50 + 20 + 1
println(a)
  
# '+' working as function
b = +(50, 20, 1)
println(b)
  
# aliasing operator as function
f = +;
println(f(50, 20, 1))

Producción:

71
71
71

Funciones anónimas

A veces no es necesario pensar en un nombre para una función. Julia también permite crear funciones sin nombre. Ahora, surge un problema sobre cómo llamar a estas funciones o cómo pasar argumentos a estas funciones. Julia proporciona una palabra clave ans que se refiere automáticamente al último valor calculado. Esta palabra clave se puede utilizar para pasar argumentos a la función anónima.

Ejemplo:

# Creating an anonymous function
function (x)
           x^2 + 2x - 1
       end
  
# Passing argument to function
ans(5)

Producción:
Julia-Function-Output-01

Publicación traducida automáticamente

Artículo escrito por jinderbrar 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 *