红宝石-RSpec。语法错误,非预期的'{',期望使用keyword_end

时间:2019-07-03 14:12:22

标签: ruby rspec

在一台使用红宝石的机器上工作,但不能在另一台机器上工作。

代码:

describe 'testing reverse string different ways' do

  let :thing {'cba321'}

  it 'the system method' do
    source = '123abc'
    result = source.reverse
    expect(result).to eq 'cba321'
  end 
end


SyntaxError:                                                                                                             
  /home/michael/Dropbox/90_2019/work/code/ruby__rails/ruby/reverse_string_tests_timing/test_spec.rb:12: syntax error, une
xpected '{', expecting keyword_end                                                                                       
    let :thing {'cba321'}                                                                                                
               ^                                                                                                         
  /home/michael/Dropbox/90_2019/work/code/ruby__rails/ruby/reverse_string_tests_timing/test_spec.rb:12: syntax error, une
xpected '}', expecting end-of-input                                                                                      
    let :thing {'cba321'}  

1 个答案:

答案 0 :(得分:4)

在Ruby 2.4.1中,不允许在par中使用parens,但在Ruby 2.5.1中,则不允许。

因此解决方法是将括号添加到let中,例如

更改

let :source {'cba321'}

let (:source) {'cba321'}