我写了这段代码:
verz = 'C:\Users\GerdPC\Desktop\mouth'
Dir.foreach(verz) do |f|
next if f == '.' or f == '..'
puts f
end
我的问题是我不知道如何返回文件名f
,例如:
sumba.png
可是:
C:\Users\GerdPC\Desktop\mouth\sumba.png
所以我试过了:
puts File.expand_path(f)
但是这只会扩展我的程序运行目录的文件名!我该怎么办?
答案 0 :(得分:3)
我会使用File::realdirpath
执行以下操作:
Dir.pwd # => "/home/kirti/Ruby"
Dir.foreach(Dir.pwd) do |file|
puts File.realdirpath(file) unless ['.','..'].include? file
end
# >> /home/kirti/Ruby/tut.html
# >> /home/kirti/Ruby/test
#.........
#.........
答案 1 :(得分:2)
这不够吗?
puts "#{verz}\\#{f}"