Applescript

Notas sobre el lenguaje de scripting AppleScript. Esta página se encuentra en constante construcción.


Índice

  1. Introducción
  2. Entorno
  3. Estructuras de datos
  4. Ejecución
  5. Ejemplos y uso
  6. Recursos
  7. Referencias

Introducción

Como llegué a escribir en alguna entrada del blog, Applescript ha sido algo que he deseado aprender desde hace tiempo, pues ha resultado útil en muchas situaciones. Por alguna extraña razón «no se me ha dado». Hay algo extraño con este lenguaje de programación que no me deja inferir o extender lo que voy aprendiendo. Como es de imaginarse, en estos casos no hay de otra más que insistir e insistir e insistir en ello. Para mí, una forma de hacerlo es creando apuntes como éstos.

Favor de revisar la declaración de responsabilidad de este sitio al respecto del código que en está página se proporciona.

Entorno

Antes de entrar en el detalle de algunos elementos tecnológicos, sobre la situación del lenguaje y la tecnología a su alrededor, hay varias entradas en el blog de este sitio al respecto que para algunos podrán interesarles.

  • De Applescript en general (1, 2, 3).

Al respecto de la tecnología, creo que lo primero es conocer las herramientas de desarrollo y el entorno en el que, todo lo que con ellas se haga, se moverá. Así, lo primero es familiarizarse con la más sencilla: el Script Editor.

Script Editor

El editor de scripts, Script Editor, es un pequeño IDE creado ex profeso para escribir programas con Applescript, y ejecutarlos en forma interpretada o compilarlos. Éste se encuentra en el directorio Utilities de Applications.

Ícono de scripts del menú principal

En el menú principal, se puede contar con un ícono que permita ejecutar ciertos scripts de utilidad (ícono de más a la izquierda en la imagen de arriba). Los scripts disponibles varían de versión a versión de macOS y de las aplicaciones en ésta. Éste se activa desde las preferencias del Script Editor.

El ícono que se agregará a  la barra del menú permite hacer uso rápido de scripts que ahorran tiempo con tareas repetitivas.

Existen tres lugares de donde se tomarán los scripts que se presentan en este menú: de la aplicación activa, del usuario y del computador, siendo esto como se ilustra a continuación.

Estructuras de datos

AppleScript cuenta con dos estructuras de datos, listas y registros. La primera es una colección ordenada de objetos, en el sentido de que los elementos se pueden recuperar por índice y pueden ser de cualquier tipo (de ahí que se diga que son «ordenadas» y «de objetos»). La creación de listas es simple, cualquier cosa que ponga entre los delimitadores de éstas ( { y } ) es una lista.

set aList to {} -- Crea una nueva lista vacía
set myList to {1, "dos", {7}, {hola:"mundo!", foo:"bar"}, 3.1415 } -- Crea una lista con objetos de distintos tipos

Por su parte, un registro es una lista de propiedades, de la que los elementos se recuperan por nombre y no por índice4.

Ejecución

La ejecución de un script,…

Ejemplos y uso

A continuación de listan algunas entradas del blog de este sitio web dedicadas a que ilustran el uso de Applescript en la resolución de un problema o la automatización de una tarea.

BASH interaction, System Preferences & display settings

Troubleshooting and errors

Versiones

Snippets e ideas

Strings

-- Find last occurrence of a string in a string and remove it.

set theString to "/Users/Shared/Scripts/S4R/Reference/takeTitle.scpt"
set toFind to "/"

text 1 thru ((length of theString) - (offset of toFind in (reverse of characters of theString as text)) + 1) ¬
       of theString

-- result: "/Users/Shared/Scripts/S4R/Reference/"

Recursos

Una bibliografía comentada, así como información de herramientas y tecnología entorno a Applescript está disponible siguiendo esta liga.

Referencias

  1. Benjamin S. Waldie, «AppleScript Essentials«, MacTech, web. Volume Number: 23 (2007), Issue Number: 03. URL: http://preserve.mactech.com/articles/mactech/Vol.23/23.03/23.03AppleScriptPowerPoint/index.html.
  2. «AppleScript«, esacademic.com, web. Visitado: 2018.07.28. URL: http://www.esacademic.com/dic.nsf/eswiki/97603.
  3. «Open Scripting Architecture«, Apple, Inc., web. Visited: 2018.07.28. URL: https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html.
  4. «AppleScript Programming/Lists and records«, Wikibooks, web. Updated: 2017.31.07; Consulted: 2018.12.30. URL: https://en.wikibooks.org/wiki/AppleScript_Programming/Lists_and_records.

Twitter Wordpress eMail
© Todos los derechos reservados.
Dr. Eduardo René Rodríguez Avila
Creación: 2018.06.19
Última actualización: 2022.03.29
El contenido de este sitio puede ser copiado y reproducido libremente mientras no sea alterado y se cite su origen. Marcas y productos registrados son citados por referencia y sin fines de lucro o dolo. Todas las opiniones son a título personal del o los autores de éstas y, salvo sea expresado de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello que es tratado. Para conocer más sobre la posición de privacidad y responsabilidad de lo que se presenta en este sitio web y como ha sido obtenido, consulte la declaración al respecto.