/ / Błąd w Ruby w systemie Windows 7 Errno :: ENOENT: - ruby

Błąd w Rubim w Windows 7 Errno :: ENOENT: - ruby

Muszę dać polecenie w wierszu polecenia ruby

irb(main):007:0> f = File.new("C:UsersABHIJI~1.SHEAppDataLocalTempmyoutp>
Errno::ENOENT: No such file or directory - ls -alF C:UsersABHIJI~1.SHEAppDataLo
calTempmyoutput.txt
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/formatter.rb:191:in ``"
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/formatter.rb:191:in `awesome_file"
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/formatter.rb:26:in `format"
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/inspector.rb:137:in `unnested"
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/inspector.rb:104:in `awesome"
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/core_ext/kernel.rb:10:in `ai"
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/core_ext/kernel.rb:15:in `ap"
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/awesome_print-1.1.0/lib/aw
esome_print/inspector.rb:31:in `output_value"
from C:/Ruby/Ruby193/bin/irb:12:in `<main>"

Podałem ścieżkę folderu tymczasowego. Korzystam z systemu Windows 7, a ścieżka Ruby to C: RubyRuby193bin

Odpowiedzi:

1 dla odpowiedzi № 1

Znak odwrotnego ukośnika jest używany jako „znak zmiany znaczenia”, służy do wstawiania znaku specjalnego w ciągu. Aby wstawić na przykład tabulator, należy użyć „t”. Jeśli chcesz mieć literał , musisz uciec z innym . Twój łańcuch powinien być "C:\Users\ABHIJI~1.SHE\AppData\Local\Temp\myoutput.txt".

Przykład:

# right
>> puts "C:\Users\ABHIJI~1.SHE\AppData\Local\Temp\myoutput.txt"
C:UsersABHIJI~1.SHEAppDataLocalTempmyoutput.txt
=> nil

# wrong
>> puts "C:UsersABHIJI~1.SHEAppDataLocalTempmyoutput.txt"
C:UsersABHIJI~1.SHEAppDataLocalTempmyoutput.txt
=> nil

Można jednak także używać ukośników w ścieżkach, nawet w systemie Windows. Aby uzyskać więcej informacji, zobacz tę odpowiedź https://stackoverflow.com/a/14875567/1067124.