Rubyは、メタプログラミング(リフレクション、イントロスペクション)、マルチパラダイムプログラミング、およびダイナミズムを一般的でないレベルで採用しています。パワーと柔軟性を備えた足で自分を撃つのは簡単です。
面倒?Rubyには、非常に読みやすい、または中断できない機能があります。Bashスクリプトに属しているように見えるコードを見てきました。
悪い習慣?知恵よりも賢明さを重視するRubyistもいます。彼らは自分の賢さを示すトリックを書いて共有していますが、これは読みにくくて壊れやすいコードを作成します。
余談ですが、Javascriptは設計上災害でした。「The Good Parts」の本は、その隠された美しさを抽出しようとしています。「それを行うには複数の方法があります」(つまり、柔軟性)を普及させた言語であるPerlには、「Perl、Best Practices」に似た本があります。Perlの歴史は実験の1つであり、経験を積んだ経験があり、「ベストプラクティス」はその知識を表しています。Perl 6は、その知識などに基づいて言語を再起動することになると思います。Rubyも同様の問題に苦しむ可能性があります。
@Jamesとforループ... rubyでforループを実行すると、「。each」が呼び出されます。したがって、「for」は、Cスタイルのループに慣れている人にとっては構文上の砂糖です。しかし、Rubyistとしては、常に.map、.inject、.each_with_objectなどのイテレーターを使用します。rubyで "i = 0; i> 6; i ++"のようなforループを記述する必要は決してないので、習慣を落とすことになります。@andrew ...雄弁なルビーはループを支持しません。