私は現在、自己複製コードを実験しています。言語への愛情から、JavaScriptで書きたいと思います。
私は関数のコードを書くプログラムに取り組んでおり、それが次にその関数自身のコードなどを書きます。基本的に、必要なプロセスは次のとおりです。
- コード(ランダム性を含む)と数値(問題の提案された解決策)を返す関数を手動で作成します。
- この関数を何度も呼び出し、返された各関数の結果を評価し、実行しようとしていることに十分に適したコードが得られるまでプロセスを続行します。
今、私は常にevalがいかに悪であるか、どのようにそれを決して使用しないかなどを言われてきました。ただし、私の特定のユースケースでは、関数コンストラクターまたはevalがまさに私が探しているもののようです。
つまり、問題は次のとおりです。
eval / Functionコンストラクターは、私の場合に使用するのに本当に最適なツールですか?もしそうなら、実行されたコードのスコープを設定するために関数コンストラクターを使用すると思いましたが、グローバルスコープへのアクセスを本当に制限する方法はありますか?また、私の場合、evalを使用するためのいくつかの良い習慣は何ですか?