es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Pharo admite el uso de la tilde (~) como parte de una ruta?

Estoy intentando utilizar una ruta relativa al directorio de inicio (~/.ssh/id_rsa.pub) en Pharo 8, pero no funciona. Por ejemplo:

'~/.ssh/id_rsa.pub' asFileReference exists    ==> false

y la ruta es

'~/.ssh/id_rsa.pub' asPath      ==> "Path / 'home' / 'ubuntu' / 'stuff' / '~' / '.ssh' / 'id_rsa.pub'"

Ahora, en String>>asPath, el ejemplo dice '~/Desktop' asPath, así que supongo que esto solía ser compatible y luego se cambió la API.

¿Cómo puedo obtener una ruta completa a partir de algo como '~/.ssh/id_rsa.pub' en Pharo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El método String>>asPath no expande el carácter ~ al directorio de inicio como se esperaba. Para obtener la ruta completa desde ~ / .ssh / id_rsa.pub en Pharo, se puede utilizar el método OSPlatform current home para obtener el directorio de inicio y luego concatenar el resto de la ruta.

    Aquí hay un ejemplo:

    | homeDir path |
    homeDir := OSPlatform current home.
    path := homeDir asString , '/.ssh/id_rsa.pub'.
    path asFileReference exists --> true
    

    Este código obtiene el directorio de inicio utilizando el método OSPlatform current home y luego agrega / .ssh / id_rsa.pub para obtener la ruta completa. Finalmente, comprueba si el archivo existe utilizando asFileReference exists.

    Tenga en cuenta que la clase OSPlatform tiene varios otros métodos útiles para interactuar con el sistema de archivos, como current workingDirectory yfileExists:.

Comments are closed.