Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre una serie de llamadas que pertenecen a esta libreria y nos seran de mucha utilidad, comencemos con la primera.

La funcion os.exit termina la ejecucion de un programa.

Anuncios

La funcion os.getenv consigue el valor de una variable del entorno, toma el nombre de la variable y devuelve una cadena con su valor:

> print(os.getenv("HOME"))
/home/tinchicus
Anuncios

Si no informamos la variable nos devuelve un valor nil.

Anuncios

La funcion os.execute corre un comando del sistema, es equivalente a la funcion system en C, toma una cadena con el comando y devuelve un codigo de error, por ejemplo tanto en Unix como en DOS-Windows podemos utilizar la siguiente funcion para crear un directorio:

function crearDir(nombre)
	os.execute("mkdir " .. nombre)
end
Anuncios

Si bien esta funcion es poderosa su mayor defecto es que altamente dependiente del sistema.

Anuncios

La funcion os.setlocale configura la configuracion local (locale) usado por un programa de Lua, locale define la conducta que es sensible a las diferencias culturas o lingüisticas, la funcion setlocale tiene dos parametros de tipo cadena, el nombre de locale y una categoria que especifica la caracteristica que afectara a la configuracion local, disponemos de seis categorias de locales:

  • collate, controla el orden alfabetico de las cadenas
  • ctype, controla los tipos de caracteres individuales y la conversion entre mayusculas y minusculas
  • monetary, no tiene influencias en programas de Lua
  • numeric, controla como se formatean los numeros
  • time, controla como la hora y fecha son formateados
  • all, controla todas las funciones anteriores
Anuncios

La categoria predeterminada es “all”, asi que esto nos permite llamar a setlocale solamente con el nombre de locale y configurara todas las categorias, la funcion setlocale devuelve el nombre de locale o nil en caso de fallar, esto puede suceder porque el sistema no soporte el locale informado:

> print(os.setlocale("ISO-8859-1","collate"))
nil
Anuncios

Para ir finalizando la categoria “numeric” puede ser engañosa, ya que muchos lenguajes diferentes del ingles, especialmente los de estas latitudes, usan una coma en lugar del punto para representar numeros decimales, el locale cambia la manera que Lua analiza numeros en programas, entre otras razones porque expresiones como:

print(3,4) 
Anuncios

Ya poseen un significado en Lua, si usas Lua para crear piezas de codigo de Lua quizas puedas tener un problema aqui:

print(os.setlocale("es_AR"))	-- Devuelve es_AR
s = "return (" .. 3.4 .. ")"
print(s)			-- Devuelve return (3,4)
print(loadstring(s))
	-- nil	[string "return (3,4)"]:1::	')' expected near ','
Anuncios

En resumen, hoy hemos visto algunas operaciones mas de la libreria del sistema operativo, hemos visto una que nos permite salir del programa, otra que nos devuelve el valor de la variables del entorno que le pasemos, otra que ejecuta comandos del sistema operativo y una para modificar nuestra configuracion regional, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00