El Lenguaje AppleScript

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


Índice

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

Introducción

Como llegué a escribir en alguna entrada del blog, AppleScript era algo que había 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, y enlaces relacionados, se proporciona.


Entorno

Antes de entrar en el detalle, hay varias entradas en el blog de este sitio al respecto que para algunos podrán interesarles.

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

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.

Scripting Additions

Dentro de las rarezas de AppleScript tenemos el que en ocasiones displauy dialog puede generar un error. Esto ocurre porque a partir de cierta versión, esta instrucción fue movida a Scripting Additions.

Creación de bibliotecas

La creación de bibliotecas no difiere mucho de la creación de otros scripts. Lo que permite que sean usados como biblotecas es el que deben ser colocados en ~/Library/Script Libraries y el que sean llamadas con

use alias: script «library»

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/"

Counting Items

URL: https://www.macscripter.net/t/how-to-get-a-count-of-a-given-char-in-a-string/19405/6

split a String

URL: https://www.macscripter.net/t/how-can-i-split-a-string/36749


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: 2024.09.08
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.