2 votos

¿Cuál es la diferencia entre HFS ruta de acceso y el alias de ruta?

Este fue criado en un comentario de otro de pregunta/respuesta y tenía curiosidad, ¿cuál es la diferencia entre un HFS ruta de acceso y un alias de ruta. A mi entender eran las mismas.

4voto

qarma Puntos 71

Creo que ha habido cierta confusión, tanto en la comprensión actual de la OP, y reforzado por la respuesta dada por la oa-, que ha ofrecido una opinión, pero no uno que es compatible con cualquiera de los enlaces que se proporcionan (la respuesta ha sido eliminado).

Es claro que todos sabemos lo que es un HFS ruta de acceso en el sentido amplio, que es un camino que separa sus carpetas mediante un delimitador de colon, por ejemploMacintosh HD:Users:CK:Desktop:. Del mismo modo, todos entendemos que no es otro formato, llamado posix camino, que utiliza una barra en el directorio de delimitadores, por ejemplo /Users/CK/Desktop/.

Sin embargo, la confusión que estoy viendo es en el uso del término" alias (en un AppleScript contexto), y de cómo este hace o no se refiera a HFS caminos.


Objeto Especificadores en AppleScript

AppleScript utiliza objeto especificadores para distinguir los diferentes tipos de objetos desde el uno del otro. Por ejemplo, el folder objeto especificador dice Buscador que "Macintosh HD:Users:CK:Desktop:" denota un objeto de carpeta en el sistema de ficheros, y no simplemente una cadena que no tiene contexto por sí mismo:

tell application "Finder" to reveal the folder "Macintosh HD:Users:CK:Desktop:"

frente a

tell application "Finder" to reveal "Macintosh HD:Users:CK:Desktop:"

el ex ilustrar el uso de la folder objeto especificador correctamente la forma de una referencia a un AppleScript objeto, mientras que el segundo preguntando Buscador de tomar un objeto string y reveal (que, por supuesto, arroja un error, ya que el comando no tiene ningún sentido).

Un alias es un tipo de objeto especificador como folder, y se utiliza para la construcción de un AppleScript objeto que hace referencia a un archivo o carpeta en el sistema de archivos mediante el suministro de un nombre de especificador, que evalúa a la ruta del elemento en el sistema de ficheros:

"Usted puede crear un alias de objetos y los objetos de archivo mediante el suministro de un nombre de especificador, donde el nombre es la ruta de acceso a un elemento en el sistema de archivos".
Guía De Lenguaje De AppleScript - Especificar Las Rutas De Acceso

"Alias de ruta"

Tenga en cuenta que el término "alias de ruta" no existe oficialmente en un AppleScript contexto, y es uno de los que ha surgido de la comodidad, pero en realidad se refiere a un alias objeto en lugar de una ruta de acceso.

Lo que es cierto es que el camino se suministra como un nombre de especificador de una alias objeto debe ser un HFS camino, y por esta razón, AppleScripters a menudo se refieren a un "alias de ruta" como forma abreviada de la alias nombre del objeto de especificador. Es un término coloquial que funciona sólo en una dirección, que es cuando se refería a un HFS camino mientras se ajusta dentro de un alias construir. No no, sin embargo, inferir que cualquier HFS ruta de acceso debe ser también un llamado alias de "camino", que no tiene sentido sin el acompañamiento alias especificador de, exactamente de la misma manera que no tiene sentido Buscador sin folder especificador.

Rutas

En general el contexto de computación, una ruta de acceso está definido por Wikipedia como:

"Una ruta de acceso, la forma general de el nombre de un archivo o directorio, especifica una ubicación única en un sistema de archivos. Una ruta apunta a una ubicación del sistema de archivos siguiendo el árbol de directorios de la jerarquía se expresa en una cadena de caracteres en el que los componentes de la ruta, separados por un carácter delimitador, representan cada uno de ellos."
Wikipedia - Camino (computación)

Un equipo de ciencias de la definición de la ruta de acceso normalmente se generaliza esta ligeramente para especificar una ruta de acceso como cualquier secuencia o lista de símbolos y nombres que decirle a un sistema operativo cómo localizar un archivo, para que el sendero que lleva.ref: 1 2 3

En cualquier caso, la naturaleza de un camino es, como la Wikipedia de los estados, expresa casi siempre como una cadena de caracteres.

En pocas palabras, una ruta es una cadena, y en el AppleScript contexto, este es siempre el caso.

Más Que La Semántica

Todo esto puede ser considerada como mera semántica para un lector casual, hasta que se produzcan situaciones, tales como el que originalmente impulsaron el OP para publicar esta pregunta. Citando de una respuesta a otra pregunta aquí:

ruta a la carpeta del escritorio

volvería una HFS camino

lo cual, por supuesto, no es así, porque devuelve un alias objeto, no es un camino.

Esto, sin embargo:

(ruta a la carpeta del escritorio) como texto

no devolver un camino, porque el alias objeto ha sido coaccionado a text, y el tipo de ruta que se devuelve es un HFS camino.

Por lo tanto, mientras que el alias objeto devuelto por el primer ejemplo se refiere a veces como un "alias de ruta", teniendo en cuenta su naturaleza, como alias objeto; inferir que el segundo ejemplo que debe ser también un "alias de ruta" es incorrecta, ya que ahora carece de la alias objeto de especificador.

alias Objetos

Simplemente, un AppleScript alias objeto de:

"Un alias objeto de forma dinámica apunta a un elemento existente en el sistema de archivos."
Mac Automatización de secuencias de comandos de la Guía de Referencia de Archivos y Carpetas - Alias Objetos

Y, en particular:

"Un alias del objeto se muestra como un delimitados por dos puntos de ruta precedido por un alias especificador."
Mac Automatización de secuencias de comandos de la Guía de Referencia de Archivos y Carpetas - Alias Objetos

que define explícitamente los dos componentes que conforman un alias definición del objeto, siendo el delimitados por dos puntos (HFS) camino (es decir, el nombre de especificador, que es una cadena), junto con el alias objeto de especificador.

Lo que esto hace es construir un AppleScript objeto que es mucho más que un simple trazo, y sirve como un constructo a casa un montón de diferentes propiedades del sistema de archivos elemento al que hace referencia, uno de los cuales, por supuesto, incluye la ruta de acceso al elemento.

Estas propiedades pueden ser enumerados por tanto Finder y los Eventos del Sistema como:

tell application "System Events" to get the properties of (path to desktop folder)

y, en los Eventos del Sistema, podemos ver el alias objeto tiene dos propiedades de la nota, siendo uno de ellos el path de la propiedad, que devuelve el HFS ruta en formato de texto; y el otro, POSIX path de la propiedad, que devuelve la ruta de acceso posix en formato de texto.


Conclusión (o TL;DR)

  • Alias de "camino" es una tradición que, en un AppleScript contexto, puede referirse a la trayectoria de un sistema de ficheros punto a que un alias referencias a objetos, pero también puede referirse a la alias objeto en sí mismo. Por lo tanto, a pesar de lo que el nombre implica, un alias de "camino" no es necesariamente, en sí mismo, un camino;

  • Una ruta es una cadena que contiene las direcciones a través de una estructura de directorio a un archivo de elemento en el sistema de ficheros;

  • Un alias objeto es, en sí mismo, no un camino, pero no contienen información de la ruta, y lo almacena y muestra esta en formato HFS;

  • Un alias de "camino", de hecho, ser un HFS ruta (o contener la información de la ruta como tal); una HFS camino, sin embargo, es no un "alias de ruta".

  • Es mejor evitar el uso confuso/conflicto de la terminología, especialmente en las respuestas de Stack Overflow que se puede leer por los recién llegados a AppleScript o secuencias de comandos en general. Alias de "camino" es uno de estos, ya que no es un reconocido oficialmente AppleScript plazo, y claramente ha demostrado causar confusión. Por lo tanto, referirse a los alias de "objetos" y "caminos" como entidades distintas, el último de los cuales puede ser un "HFS camino" o una "ruta de acceso posix" en la cadena de formato que pares con un objeto especificador para crear un archivo AppleScript objeto de referencia.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X