当我尝试在管道字符中使用分号时,我正在尝试一个简单的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|
知道我可能做错了什么?
答案 0 :(得分:1)
有关您遇到的确切错误,已在“Ruby: unexpected semicolon in block parameters”中回答了此问题。听起来Sublime可能正在访问旧版本的Ruby。
检查你的路径,看看是否有两个版本的Ruby,并删除对Ruby 1.8的所有引用。