1

当我尝试在管道字符中使用分号时,我正在尝试一个简单的 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|

关于我可能做错了什么的任何想法?

4

1 回答 1

1

关于您遇到的确切错误,这已在“ Ruby:块参数中的意外分号”中得到解答。听起来 Sublime 可能正在访问旧版本的 Ruby。

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

于 2013-04-25T00:19:25.130 回答