如何在 Ruby 中编写我的删除文件方法?

How do I write my delete file method in Ruby?

我目前正在学习 Ruby 并从事 Hangman 项目。这是我第一次使用文件和 YAML。

我正在尝试实现 save/load 游戏的方法。我已经决定我希望最多有 3 个保存文件,如果用户在此之后尝试保存游戏,他们会被要求删除以前的保存文件。

这是我目前在 Github 上的程序的 link(抱歉,它需要重构):https://github.com/d-zer0/hangman/blob/master/hangman.rbhangman.rb

这是用于删除文件的代码:

game_files = Dir.entries("saved_games").select { |f| f.include?(".sav") }
game_file = "saved_games/#{game_files[index.to_i]}"
File.delete(game_file) #delete file

当运行程序,当我select一个文件要删除时我得到这个错误:

hangman.rb:49:in `delete`: Permission denied @ unlink_internet - saved_games/ (Errno::EACCES)
    from hangman.rb:49:in `save_game'
    from hangman.rb:113:in `play'
    from hangman.rb:38:in `new_game'
    from hangman.rb:25:in `start_menu'
    from hangman.rb:15:in `initialize'
    from hangman.rb:172:in `new'
    from hangman.rb:172:in `<main>'

谁能告诉我为什么会出现此错误以及如何解决它?我不知道这是否有帮助,但我在 Windows.

上这样做

谢谢!

#{game_files[index.to_i]} 正在计算空字符串,而您正在尝试取消链接目录。