sublime text 2 ruby​​ block with decumolons error

时间:2013-04-24 23:47:26

标签: ruby block sublimetext2

当我尝试在管道字符中使用分号时,我正在尝试一个简单的Ruby程序来了解块并继续遇到构建错误。

如果我使用ruby name_of_program.rb在终端中运行该文件,那么一切运行正常。只有当我尝试构建Sublime Text时才会出现错误。

这是在Sublime Text 2中出错但在其外部运行正常的程序:

x = 10

5.times do |x|
  puts "x inside the block: #{x}"
end

puts "x outside the block: #{x}"

x = 10
5.times do |y|
  x = y
  puts "x inside the block: #{x}"
end
puts "x outside the block: #{x}"

x = 10
5.times do |y; x|
  x = y
  puts "x inside the block #{x}"
end
puts "x outside the block #{x}"

错误:

block_variables_ex.rb:21: syntax error, unexpected ';', expecting '|'
5.times do |y; x|

知道我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

有关您遇到的确切错误,已在“Ruby: unexpected semicolon in block parameters”中回答了此问题。听起来Sublime可能正在访问旧版本的Ruby。

检查你的路径,看看是否有两个版本的Ruby,并删除对Ruby 1.8的所有引用。