Ruby - 删除文件中的最后一个字符?

Dyl*_*lan 5 ruby file-io

似乎它一定很容易,但我无法弄明白.如何使用Ruby IO删除文件的最后一个字符?

我看了一下用Ruby 删除文件最后一行的答案,但没有完全理解它,并且必须有一个更简单的方法.

有帮助吗?

mu *_*ort 8

File.truncate:

truncate(file_name,integer)→0

截断文件file_name最多为integer字节长.并非适用于所有平台.

所以你可以这样说:

File.truncate(file_name, File.size(file_name) - 1)
Run Code Online (Sandbox Code Playgroud)

这应该通过单个系统调用截断文件,以调整文件系统中的文件大小而不复制任何内容.

请注意,并非在所有平台上都可用.File.truncate应该可用于任何unixy(例如Linux或OSX),我不能说任何有用的Windows支持.