我有一段代码试图与rspec一起运行。
require 'spec_helper'
describe "User" do
before { @user = User.new(name: "Example User", email: "[email protected]", password: "foobar", password_confirmation: "foobar") }
subject { @user }
it { should respond_to(:name)}
end
我收到以下错误
c:\Sites\sample_app>rspec spec/models/user_spec.rb
C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rspec-core-2.13.1/lib/rspec
/core/configuration.rb:819:in `load': c:/Sites/sample_app/spec/models/user_spec.
rb:1: syntax error, unexpected tIDENTIFIER, expecting end-of-input (SyntaxError)
before { @user...er'
现在,我在一个新文件中重新键入测试,然后运行它,没有错误。我猜有一些编码问题,或者是我没有了解到的东西。有没有人可以阐明这个问题?
您似乎确实被“零宽度空间问题”所困扰。我知道这非常令人沮丧。您会认为“显示空白”应该解决这个问题,尤其是在像Sublime一样高级的编辑器中。
无论如何,要检测Sublime 2中这些字符的存在,可以使用此插件。显示它们。
顺便说一句,几个月前,当我从其中包含一个小麻烦之一的网站上复制/粘贴一些代码时,我在这个问题上浪费了数小时甚至数天。
我在Sublime 2网站上搜索了与此相关的任何帖子(例如功能请求等),但没有找到任何东西,因此我不知道这是否在他们的关注范围内。
注意:此答案的原始版本假定零宽度空格字符与不间断空格相同,但不是。不间断空格尽管仍然会产生语法错误,但由于它们“占据了显示空间”(即“看起来像”空格),因此更易于检测。还有一个“零宽度不间断空间”,仍然有所不同。虽然在Mac上输入不间断的空格(即Option-Space)很容易,但我无法输入任何零宽度的空格。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句