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 function
y 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 return
una 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:
Publicación traducida automáticamente
Artículo escrito por jinderbrar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA