metaprogramming

Ruby,Pythonで動的プロキシ

メタプログラミングRubyで動的プロキシというものが紹介されていますどのメソッドにも当てはまらないメッセージを他のオブジェクトに委譲する、というものです下記はメタプログラミングRubyで紹介されているサンプルコードとほぼ同じものです class MyDynami…

Ruby、Pythonで動的ディスパッチ/動的メソッド定義

動的ディスパッチ 動的ディスパッチは、「実行時に呼び出すメソッドを決める」ことを指します。 rubyではsendによって動的ディスパッチができます method_to_call = :upcase obj = "abc" obj.send(method_to_call) # => "ABC" pythonではメソッドがオブジェ…

Ruby、Pythonでインスタンス変数を動的に取得/設定する

ちょっと前まではrubyで、最近はpythonで仕事をしているので、rubyでやっていたアレ、pythonだとどうやるんだろ?と思うことがたまにあります。 逆にpython書いてて、あれこれrubyで(ry とか で、インスタンス変数の操作ですが、 pythonではあらかじめ定義を…

Ruby、Pythonでクラスのインスタンスメソッドを追加する

ちょっと前まではrubyで、最近はpythonで仕事をしているので、rubyでやっていたアレ、pythonだとどうやるんだろ?と思うことがたまにあります。 で、クラスへのインスタンスメソッド追加ですが、 rubyではオープンクラスによって、インスタンスメソッドが追…