Ruby 遭遇\r";中间

Ruby 遭遇\r";中间,ruby,Ruby,我正在为Slack构建一个小机器人,当我尝试使用ruby lib/mondial.rb运行文件时,它崩溃了。。。我不明白发生了什么。。。 我打开了我的文件,因为纯文本找不到任何问题 perso/mondial_2018/lib/mondial/live_scores.rb:1: warning: encountered \r in middle of line, treated as a mere space lib/mondial.rb:1:in `require_relative'

我正在为Slack构建一个小机器人,当我尝试使用
ruby lib/mondial.rb运行文件时,它崩溃了。。。我不明白发生了什么。。。
我打开了我的文件,因为纯文本找不到任何问题

 perso/mondial_2018/lib/mondial/live_scores.rb:1: warning: encountered \r in middle of line, treated as a mere space
    lib/mondial.rb:1:in `require_relative': perso/mondial_2018/lib/mondial/live_scores.rb:1: syntax error, unexpected tIDENTIFIER, expecting end-of-input (SyntaxError)
    require "faye/websock...
                              ^
        from lib/mondial.rb:1:in `<main>'
mondial.rb

require "net/http"
require "http"
require "faye/websocket"
require "eventmachine"
require "json"

module Mondial
  class LiveScores
   #some classes
  end
end
require_relative "mondial/live_scores"
\r
表示与
\n
字符不同的字符

在Windows上,文本文件通常以
\r\n
结尾。在包括macOS在内的Unix操作系统上,文本文件以
\n
结尾。“警告:在行中间遇到
\r
,仅被视为空格”意味着行的
\r
未与
\n
配对,因此Ruby解释器决定将字符解释为空格

要在Sublime Text 3中更轻松地查看
\r
控制字符,您可以将用户设置
“绘制空白”:“选择”
更改为
“绘制空白”:“全部”
。然后你应该能够在代码的中间看到<代码> \r>代码,你可以删除它或者用适当的字符替换它。

< p> <代码> \r>代码>表示一个字符,它不同于<代码> \n>代码>字符。

在Windows上,文本文件通常以
\r\n
结尾。在包括macOS在内的Unix操作系统上,文本文件以
\n
结尾。“警告:在行中间遇到
\r
,仅被视为空格”意味着行的
\r
未与
\n
配对,因此Ruby解释器决定将字符解释为空格


要在Sublime Text 3中更轻松地查看
\r
控制字符,您可以将用户设置
“绘制空白”:“选择”
更改为
“绘制空白”:“全部”
。然后你就可以在中间看到代码< > r>代码,你可以删除它,或者用适当的字符替换它。

非常清楚的解释,谢谢。我有这个错误,并且在打开隐藏字符的情况下查看了代码,但看不到有问题的字符。@MSC如果看不到不可见字符,可以尝试在错误周围选择更大范围的单词或行,然后重新键入所有字符。例如,如果您怀疑<<代码>中的“<代码> \r>代码> >相对应的“MUNIDLE/LIVEL分数”,您可以选择<代码>“mo
并尝试重新键入这八个字符。非常清楚的解释,谢谢。我有这个错误,并且在打开隐藏字符的情况下查看了代码,但看不到有问题的字符。@MSC如果看不到不可见字符,可以尝试在错误周围选择更大范围的单词或行,然后重新键入所有字符。例如,如果您怀疑在<代码>中间的“代码> > r>代码> >“MUNIDLE/LIVEL分数”,您可以选择<代码> tive MO <代码>,并尝试重新键入这八个字符。