首页 > 解决方案 > 搜索文件是否存在

问题描述

我正在编写一个音乐播放器,它从“data.txt”文件(不是问题)中读取数据,然后将其存储为一个数组,其中包含名为专辑的记录,其中包括标题、艺术家......和曲目。在曲目记录中,它包括曲目名称和曲目位置。

在下面的代码中,我试图搜索曲目,例如 \music\album1\song_name1.mp3,但尽管文件退出,但在 IF 语句事件中返回为 false。

def playTrack(track, album)
  if File.file?(album.tracks[track].location)
    puts "Found"
    @song = Gosu::Song.new(album.tracks[track].location)
    @song.play
  else
    puts "Not found"
    puts album.tracks[track].location
  end
end

标签: rubyfile

解决方案


是的。使用 p 而不是 puts 可以帮助我看到字符串后面有一个 \n。现在一切正常。

刚做了。咬住要修复的字符串


推荐阅读