monkeypatching

    14

    8答えて

    多くの議論では、人々が言語に関する予約を表明しているRubyについて聞いたことがありますが、サルのパッチ適用の問題が主要な懸案事項の1つです。 しかし、Python言語でも許可されていますが、Pythonのコンテキストで行われたのと同じ議論を聞くことはめったにありません。 この区別はなんですか? この機能のリスクを最小限に抑えるために、Pythonにはさまざまな種類のセーフガードが含まれていますか

    6

    1答えて

    追加のプロパティを追加するPythonクラスがあるとします。 import path.MyClass setattr(MyClass, 'foo', bar) : は import path.MyClass MyClass.foo = bar と同じようなものを使用しての間に違いはありますか? もしそうでなければ、なぜ人々は最初のものよりも2番目のことをしているように見えますか? (例

    1

    1答えて

    存在しないキーの自動インクリメント番号を格納するハッシュを作成しようとしています。 私はこれを行うための他の脆弱ではない方法があることを認識しています。私の質問です:なぜ私のインスタンス変数は非常に惨めに失敗しますか? h = Hash.new{|h,k| h[k] = (@max_value += 1)} h.instance_variable_set(:@max_value, 0) # ze

    5

    2答えて

    私は知っている、私は知っている、それは汚いとすべてです。私は、__init__ Pythonモジュールのモジュールを乗っ取り、それをあなた自身で置き換えることが可能かどうかを知りたいと思います。 私はdjangoのlibがinitプロセスの一部を開始するのを防ぐ必要があるので、私たちの設定でクラッシュするように要求しています。 はい、djangoのlibを修正してパッチを送り返す方が良いです。はい

    14

    6答えて

    私のようなものを持つ猿パッチングRailsのエンジンです: SomeClass.class_eval do # ... end 私は、少なくとも開発モードで、ウェブサイトを打つ、それは動作しますが、それは私のパッチのようなものだ二回目は存在しなかった最初の時間。私はそれがRailsがエンジン(ベンダーにインストールされている)を自動リロードしていて、コードをリロードしていないと考え

    1

    3答えて

    IronPythonでC#クラスの再宣言が可能かどうかは誰にでも分かりますか?私がC#クラスを持っていれば、IronPythonから猿のパッチを当てることができますか?

    1

    1答えて

    RailsアプリケーションでRuby gemに簡単なパッチを適用する最も良い方法は何ですか? 元の宝石のコードを元の状態に保つことは可能ですか?

    8

    2答えて

    拡張メソッドをPowerShellに書き込むことはできますか?実行時に[string]のような既存の型の上に新しいメソッドを追加することができますか?

    1

    1答えて

    私たちはdjangoを既存のアプリケーションと並行して実行しています。そして、私たちはユーザー情報を格納するために、既存の "user"テーブル(Djangoのテーブルではない)を使用したいと考えています。 ユーザー定義のMetaクラスで、Djangoが使用するテーブルの名前を変更することができるようです。 しかし、私たちはDjangoコア自体を変更したくないです。 だから我々は、我々は、サブクラ

    6

    5答えて

    私はRubyコーダーです。私にとって、Monkeypatchingは、実行時に外部プロジェクトのクラスまたはモジュールメソッドを変更することです。私が興味を持っているのは、その素敵な機能の乱用からあなたを守るための、あなたがどのような仕組みを持っているかです。私が遭遇したいくつかのシナリオでは、Monkeypatchingが私に噛まれています。 スモールトークはまったく分かりませんが、その言語はR