構文エラー、予期しない $end、keyword_end が必要です
私たちは皆そこにいました!git diff
一見しただけでは明らかではないほど十分なコードが変更されたと仮定すると、不足しているものを見つける簡単な方法はありますかend
(Python のようなインデントベースの言語に切り替える以外に) ?
FWIW、私は Sublime Text 2 をエディターとして使用しています。
Ruby 1.9 を使用している場合は、Ruby-w
プログラムを実行するときにフラグを試してください。
# t.rb
class Example
def meth1
if Time.now.hours > 12
puts "Afternoon"
end
def meth2
# ...
end
end
ruby t.rb
=> t.rb:10: syntax error, unexpected $end, expecting keyword_end
ruby -w t.rb
=> t.rb:5: warning: mismatched indentations at 'end' with 'if' at 3
t.rb:9: warning: mismatched indentations at 'end' with 'def' at 2
t.rb:10: syntax error, unexpected $end, expecting keyword_end
ソース:
http://pragdave.blogs.pragprog.com/pragdave/2008/12/ruby-19-can-check-your-indentation.html
2020 年 12 月以降、欠落している s を検出するのに役立つdead_endend
gem もあります。
開始する最も簡単な方法は、gem をインストールすることです。
gem install dead_end
スキャンするファイル名を指定して、コンソールから直接実行します。
dead_end myfile.rb
これにより、より役立つエラー メッセージが表示されます。
43 if (col_idx - 1) % 3 == 0
50 if !contains?(doc, node)
❯ 51 doc.add_child(node)
❯ 52 tree.
53 end
54 end
その他のオプションについては、ドキュメントを参照してください。
Rails を使用している場合は、特に -w フラグを指定して問題のあるファイルを実行できます。
それでも問題の不一致が見つからない場合、この問題を解決するための私の頼りになる方法は、問題のある領域を特定できるまで、コードのチャンクをコメントアウトすることです.
OS X では、コマンド + / を使用して、強調表示されたテキストをコメントアウトできます。