Supponiamo che uno script abbia bisogno di accedere a una directory, ad esempio /some/where/abc
su un sistema operativo "arbitrario". Ci sono un paio di opzioni per costruire il percorso in Ruby:Come costruire un percorso assoluto portatile in Ruby?
File.join('', 'some', 'where', 'abc')
File.absolute_path("some#{File::SEPARATOR}where#{File::SEPARATOR}abc", File::SEPARATOR)
Pathname
nel API standard
Credo che la prima soluzione è abbastanza chiara, ma idiomatica. Nella mia esperienza, alcune revisioni del codice chiedono un commento per spiegare che cosa fa ...
La questione
Esiste un modo migliore per costruire un percorso assoluto è Ruby, dove i mezzi migliori "fa il lavoro e parla da solo "?
Vorrei solo collegare il documento nella revisione del codice. Dice esplicitamente "Restituisce una nuova stringa formata unendo le stringhe usando File :: SEPARATOR." 'File # join' è il solito modo di produrre percorsi portatili. –
A seconda di cosa intendi per "sistema operativo arbitrario", "" tmp/abc/"' come stringa letterale è un percorso valido su Linux, Mac e Windows. –
La documentazione, o solo il percorso previsto come commento, funziona bene. Sto solo cercando di trovare incantesimi nascosti o dimenticati in Ruby. –