¿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?
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étodoOSPlatform current home
para obtener el directorio de inicio y luego concatenar el resto de la ruta.Aquí hay un ejemplo:
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 utilizandoasFileReference exists
.Tenga en cuenta que la clase
OSPlatform
tiene varios otros métodos útiles para interactuar con el sistema de archivos, comocurrent workingDirectory
yfileExists:
.