でELIFのタイプミスのための時間のエラーをコンパイル私はタイプミス(まあ、Pythonのルーチンを)持っていたが、不思議なRubyはそれについて文句を言うしませんでした:トリガー警告やRuby
> if false; put "NO"; elif true; puts "YE"; end
=> nil
> if false; puts "NO"; elsif true; puts "YE"; end #proper way
YE
私は考えなければなりませんでした私はそれが完璧なRubyの構文であることに気づいたときに半分の時間をかけました。 Rubyはそれを最初のif
句のコマンドの一部として解釈します。elif
は存在しませんが、コンパイル時には分かっていないコマンドです。 Rubyは警告フラグをオンにしてもそれについて警告しませんでした。
これらの問題について警告する方法はありますか?私はそのようなタイプミスのためにすべてのソースをgrepする必要がありますか?どういうわけかこれを強制的にコンパイル時エラーにすることはできますか?
(私が知っている、それはあなたがユニットテストでこれらの問題を検出する必要があり、動的言語だが、新しいコードを書きながら、それはまだ迷惑なんだ。)
コードをテストできます。ただの考え;) – d11wtq
ここに質問はありません。 :) –
"これらの問題について警告する方法はありますか?"どういうわけか、これを強制的に「コンパイル時」のエラーにすることはできますか? (注:それは奇妙な質問だと知っていますが、私はそのようなタイプミスを許す他の言語は知らない) –