今日、正規表現を使用して特定の名前のファイル内の特定のコンテンツを追跡し、そのコンテンツを削除してから置換を追加する、非常に小さな Ruby スクリプトを作成しました。(そうしないと、反復中に問題が発生する可能性があります)。
私は ruby にあまり慣れていません (1 ~ 2 週間前に休暇の仕事が始まってから使用しているだけです) が、私の習慣の 1 つは、リスト (またはインデックスを使用している他のほとんどの ADT) に触れないようにすることです。特定のコンテンツを削除するには)、使用している言語は関係ありません。
Array
いくつかの検索の後、私は役立ついくつかの機能を見つけました。現在、私は使用してArray.reject!
おり、スクリプトは機能したいように機能しArray.reject! {|line| line =~ regex }
ますが、配列内のオブジェクトをスキップすることに問題がない理由が正直にわかりません。これらのソース、ruby -docsおよびいくつかのランダムな Web サイトは、反復中に変更が即座に適用されることを確認します。\n
もちろん、次のものはそれ自体の行になります(ただし、それは文字列の最後の部分にすぎません)。
誰かがこれについて素晴らしい説明をしましたか?