5. Paradigma Imperativo
Punteros en OCaml (Ref
)
En esencia, con la palabra reservada Ref
podemos crear punteros en OCaml. En esencia una referencia, es un puntero que apunta a una celda de referencia, un lugar donde se guardan los cambios que se le aplican al acceder al puntero.
En OCaml un valor (val
) es inmutable y eso se mantiene. Los valores no guardan la información, si no solo la referencia al lugar donde esta guardando. Puedes pensarlo como que guardan la dirección de memoria.
Podemos declarar un puntero a un tipo entero de la siguiente manera:
Al contrario que con un int
normal no podemos operar con el:
Si queremos acceder a el podemos usar tanto el asignador :=
como el conversor !
.
Factorial en Imperativo
Array
En OCaml debemos diferenciar las listas de los arrays.
- Esto es una lista:
- Esto es un array:
Los arrays están ordenados y podemos acceder a cada posición ya sea mediante el método nativo o las funciones del módulo Array
:
Creación de arrays
- Creación de un array de 10 elementos con números aleatorios entre
0.
y1.
- Creación de un vector resultado del producto vectorial de dos vectores
- También podemos implementarlo usando funciones del módulo
Array
- También podemos implementarlo usando funciones del módulo