ruby - Rspec 返回“意外的'{',期待keyword_end”的语法错误
问题描述
这适用于一台装有 Ruby 的机器,但不适用于另一台机器。
代码:
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'}
解决方案
在 Ruby2.4.1
中,在 let 中没有括号是允许的,但在 Ruby2.5.1
中则不允许。
所以解决方法是在 中添加括号let
,例如
改变
let :source {'cba321'}
到
let (:source) {'cba321'}
推荐阅读
- java - 使用 Gmail Java API 更改 Gmail 中的默认签名
- excel - 如何在 VBA 中列出 Excel 切片器项目
- python - 如何为我的 Flask API 编写 UnitTest
- jquery - 在 jQuery 和 Ajax 中创建动态多选双列表框
- javascript - 一个 HTML 页面中的多个选项卡,没有唯一引用(没有 ID 或类)
- python - 来自 Scikit Learn 的关于 RandomForestClassifier 参数的快速问题
- cpu - 如何计算 CPU 调度程序模拟中的平均响应时间?
- r - 将一个数据中的 NA 替换为 R 中另一个数据的值?
- java - 调试时避免使用 java.util 类
- python-3.x - 替换文件中的字符串 - Python