Mostrando entradas con la etiqueta import. Mostrar todas las entradas
Mostrando entradas con la etiqueta import. Mostrar todas las entradas

jueves, 6 de mayo de 2021

Erlang: módulos

Un módulo es, básicamente, una parte autónoma de un programa. Se puede sonsiderar un miniprograma que puede puede ser llamado por otro programa y/o programas.
Ejemplo 1. Crear un módulo que calcule el triple de un número.
mi_modulo.erl
% Módulo para obtener el triple de un número
-module(mi_modulo).
-export([triple/1]).

triple(X) ->
    3 * X.

% Abrimos la terminal y escribimos:
% erl
% c(mi_modulo).
% mi_modulo:triple(3). % 9
% Triple = mi_modulo:triple(9). % 27

Donde:
-module(mi_modulo).

Nos sirve para definir el módulo(programa) que será cargado.
-export([triple/1]).

Nos sirve para exportar la función. Es importante definir el número de parámetros. En este caso la función solo emplea uno:
> mi_modulo:triple(3). % 9

Ejemplo 2. Crear dos funciones para sumar y restar dos números.
-module(modulos).
-export([suma/2, resta/2]).

suma(X, Y)->
    X + Y.

resta(X, Y)->
    X - Y.

% erl
% > c(modulos).
% > modulos:suma(3,4). % 7
% > modulos:resta(7,4). % 3

Observando el código, podemos exportar más de una función.
-export([suma/2, resta/2]).


Enlaces:
https://blog.guille.dev/2019/08/aprendiendo-un-nuevo-lenguaje-erlang.html
https://www.histel.com/z_histel/biografias.php?id_nombre=46

martes, 31 de marzo de 2015

Ceylon: Interoperabilidad con Java ... javax.swing

Continuamos los ejemplos del uso de librerías Java en código Ceylon. En el post anterior vimos como importar las librerías básicas de Java, ahora importaremos el paquete javax.swing.

Tendremos tres archivos:
  1. module.ceylon
  2. package.ceylon
  3. run.ceylon
En este archivo importamos el módulo que incluye a la librería javax.swing

module.ceylon
module holaCeylon "1.0.0"{
    import java.base "7";
    import java.desktop "7";//incluye a javax.swing
}


Este archivo indicamos el paquete principal (holaCeylon) de nuestro programa.
package.ceylon
shared package holaCeylon;

El archivo que se compilará y ejecutará. Se trata de un mensaje que nos muestra la versión del lenguaje en una ventanita tipo alert.


run.ceylon
import javax.swing { JOptionPane }

shared void run(){
    JOptionPane.showMessageDialog(null,"Hola desde Ceylon ``language.version`` ");
}



Compilamos y ejecutamos:

También podemos hacer uso de showInputDialog() para introducir datos:
import javax.swing { JOptionPane }

shared void run(){
    value nombre=JOptionPane.showInputDialog("Introduce tu nombre");
    JOptionPane.showMessageDialog(null,"Hola ``nombre``");   
}


Convertir esos datos en Float o Integer. Podemos hacer un simple menú con tres opciones: calcular grados celsius, grados fahrenheit y salir.

import javax.swing { JOptionPane }

shared void run(){
    value c=Calculo();
    String? opc=JOptionPane.showInputDialog("\t1. Calcular grados Fahrenheit\n2. Calcular grados Celsius\nSalir (cualquier tecla)");

    if(exists opc){
        value opc_=opc;
        switch (opc)
        case ("1") {
            Float? numero=parseFloat(JOptionPane.showInputDialog("Introduce grado Celsius"));
            if(exists numero){
                value numero_=numero;
                JOptionPane.showMessageDialog(null,"Celsius: ``c.fahrenheit(numero)``");   
            }

        }
        case ("2") {
            Float? numero=parseFloat(JOptionPane.showInputDialog("Introduce grado Fahrenheit"));
            if(exists numero){
                value numero_=numero;
                JOptionPane.showMessageDialog(null,"Celsius: ``c.celsius(numero)``");   
            }
        }
        else {
            process.exit(0);
        }

    }
}

class Calculo(){
    shared Float celsius(Float fahr){
        return (fahr - 32) / 1.8;
    }

    shared Float fahrenheit(Float cels){
        return (1.8 * cels) + 32;
    }
}

Al compilar y ejecutar obtendremos lo siguiente:






Listo.
Links
http://ceylon-lang.org/documentation/1.1/reference/interoperability/java-from-ceylon/


Jai un lenguaje de programación inspirado en C++

Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

Etiquetas

Archivo del blog