【发布时间】:2023-03-11 19:25:01
【问题描述】:
我正在尝试编写一个程序来检测文件是否有\n 或\r\n 行结尾,然后修复它们。我希望让脚本向控制台输出一些消息,但我遇到了麻烦。我不知道如何将行尾打印为文字。
这是我检查行尾类型的方法:
def determine_line_ending(filename)
File.open(filename, 'r') do |file|
return file.readline[/\r?\n$/]
end
end
ending = determine_line_ending(ARGV.first)
假设此方法将返回\n 或\r\n,如果它与文件第一行的其中一个模式匹配。
然后我想在控制台打印出检测到的结束类型,但如果我使用puts ending,那么它只会在控制台中添加一行结尾。我知道如果我使用puts '\r\n',那么它会直接打印它们,或者如果我使用双引号,我只需要转义反斜杠。但我对 Ruby 还很陌生,我很难找到一种方法将我的变量打印为文字而不是字符串。
【问题讨论】:
标签: ruby string-literals line-endings