構文エラー、予期しない$エンド、我々はすべてそこにしてきたkeyword_endRubyに見つからないエンドを簡単に見つける方法はありますか?
を期待して! git diff
などで一見しても十分なコードが変更されていないとすれば、それが見つからないという簡単な方法がありますか?end
(Pythonのようなインデントベースの言語に切り替えるのには不足しています)?
FWIW、私はエディタとしてサブライムテキスト2を使用します。
構文エラー、予期しない$エンド、我々はすべてそこにしてきたkeyword_endRubyに見つからないエンドを簡単に見つける方法はありますか?
を期待して! git diff
などで一見しても十分なコードが変更されていないとすれば、それが見つからないという簡単な方法がありますか?end
(Pythonのようなインデントベースの言語に切り替えるのには不足しています)?
FWIW、私はエディタとしてサブライムテキスト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
これは、一貫したインデントを使用する場合にのみ機能しますか? (+1) –
空白をすべて削除してしまったため、不一致の識別エラーが表示されず、答えが「はい」のように見えました。 – sunnyrjuneja
このオプションをRailsに含めることはできますか?私は今死んでいる... –
あなたはレールを使用している場合は、-wフラグと特異的に問題のあるファイルを実行することができます。
問題の不一致が見つからない場合は、この問題を解決するために、問題のある領域を特定できるまでコードの塊をコメントアウトするだけです。
OS Xでは、強調表示されたテキストをコメントアウトするために+ /コマンドを使用できます。
vimの構文の強調表示、コードのインデントをすばやく再フォーマットする機能は、私の痛みをすべて取り除いてくれました:-)崇高なテキストは、同様のものがありそうですね。 –