2009/2/27 Aureliano Calvo <[email protected]>:
> Estoy escribiendo un rakefile multiplataforma (Windows y Unixes) para
> compilar proyectos programados en Erlang. Para eso, necesito obtener el
> password de los archivos con black-slash en Windows y slash común en Unix,
> ya que tengo que pasarlo en una llamada a un shell:
>
> sh("erl -sname #{START_MODULE} -pa #{ebin_path}")
>
> El problema que tengo es que probando en Windows, ruby me da el password con
> forward slashes. Corriendo en el irb:
>
>>> curr = Pathname('.')
> => #<Pathname:.>
>>> curr.realpath
> => #<Pathname:C:/toto/erlang>
>
> Peor aún, el File::SEPARATOR es:
>
>>> File::SEPARATOR
> => "/"
>
File::ALT_SEPARATOR
=> "\\"
Si usas pathname... suerte con eso :-)
Pathname no es una de las mejores clases cross platform.
> ¿Cómo hago para obtener el path "posta" para cada plataforma? No encontré
> ningún método que me de el path bien.
>
if File::ALT_SEPARATOR then
path.gsub!(File::SEPARATOR, File::ALT_SEPARATOR)
end
Mas alla de eso, los paths tienen que ser "escapados" para evitar que
los espacios puedan interferir.
"\"#{path}\""
> Por último, la versión de ruby que estoy usando en Windows es:
>>ruby --version
> ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
>
> Y la instalé usando el one-click installer.
>
Medio vieja che...
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
> Muchas gracias,
> Aureliano.
>
Saludos,
--
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar