タグ

reflectionに関するruedapのブックマーク (3)

  • RubyistのためのGolangメタプログラミング - k0kubun's blog

    Goでは、reflectパッケージを使うとリフレクションを行うことができる。 そこで、以下のことを任意のstringによる動的な指定で行うことができるかを調べた。 send (関数, メソッド呼び出し) define_method (関数, メソッドの定義) const_get (任意の型のオブジェクトの取得) send (関数, メソッド呼び出し) stringで関数, メソッド名を指定して呼び出すことができるか? 関数: No メソッド: Yes 関数のsend 変数に関数が入っていればその変数を使って呼び出せるが、普通に定義した関数をstringから参照する手段はない。もしやりたければ手動でmap[string]funcにつっこんでおくしかない。(これやっちゃうとメタプロにならなそう) メソッドのsend method := reflect.ValueOf(&receiver).Me

    RubyistのためのGolangメタプログラミング - k0kubun's blog
  • マスター・オブ・Reflectパッケージ

    3. 今日話すことは... ● Go研 Vol.8でやったことをまとめたもの ○ https://github. com/goken/goken/blob/master/goken08-reflect.md 4. アジェンダ ● なぜ、reflectパッケージを使うのか? ● 実際どこで使われているの? ● Value型とType型 ● interface{}とreflectパッケージ ● 構造体のリフレクション ● チャネルのリフレクション ● 関数のリフレクション

    マスター・オブ・Reflectパッケージ
  • プライベートメソッドに対するテスト方法 - t_komuraの日記

    phpunit などを使って PHP スクリプトをテストする時に、プライベートメソッドをテストしたくなる時があると思いますが、PHP では結構難しいように思います。 PHP でプライベートメソッドをテストする方法として、思い付くのは以下の方法くらいでしょうか。 パブリックメソッドからプライベートメソッドを完全にテストできるように工夫する プライベートメソッドのテスト用にパブリックメソッドのラッパーを作成しておく テスト時のみ、テストしたいプライベートメソッドの Private を Public に書き換える Runkit などを使って定義を変更する 1. が実現できれば問題ないのですが、全てがうまくいくようにパブリックメソッドを作成するのは困難だと思います。また、テストのためだけにメソッドを増やしたり、変更したくないため、2. と 3. はあまりやりたくありません。4. であればできそうな

    プライベートメソッドに対するテスト方法 - t_komuraの日記
  • 1