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 にアクセスしているようです。

パスをチェックして、そこに 2 つのバージョンの Ruby があるかどうかを確認し、Ruby 1.8 への参照をすべて削除します。

于 2013-04-25T00:19:25.130 に答える