I.D.E.A.
Idea, Design, Engineering, Architecture on Blogger. Seesaaブログから引っ越した。 洗練されたものを目指します。
ラベル
メタプログラミング
の投稿を表示しています。
すべての投稿を表示
ラベル
メタプログラミング
の投稿を表示しています。
すべての投稿を表示
2017年11月19日日曜日
[Ruby]モジュールに継承/派生っぽいことをさせてみる試み
›
組み込みライブラリもしくは既存のクラスclassやモジュールmoduleを, 特定の用途向けに一部だけ改変したいことがある. その際, できればモンキーパッチはしたくない. このような場合, クラスならば class DerivedKlass < OriginalK...
2017年11月16日木曜日
Rubyの実験: Moduleのprivateインスタンスメソッド
›
Moduleのprivateインスタンスメソッド, 具体的には Module::module_function のふるまいで, 腑に落ちない点があった. 派生先のClassクラス (ひいては一般に定義されたクラス) からなぜ使えないのか? ということで, 実験した. 結論的に...
2017年11月8日水曜日
Rubyの実験: Object/Class/Module/Kernelにメソッドを追加するとどうなるか?
›
Object/Class/Module/Kernelにメソッドを追加すると, これらや一般のクラス, モジュールやインスタンスに対してどのような影響があるか, 調べるコードを書いてみた. 追加するメソッドはインスタンスメソッドと特異メソッドで, 両方publicの可視属性です...
2014年12月24日水曜日
[Ruby]シンボルとコードブロックからクラスを動的に定義するメソッド: class_define
›
Ruby では Class.new で無名のクラスオブジェクトは生成することができる。 このとき クラス名 クラス本体 を与えて、動的にクラスを作れないか?を考える。
2013年8月4日日曜日
[Memo]private メソッドへのアクセス
›
Ruby は、クラスのメソッドのデフォルトのアクセス制限が、 public なんだけど、ほっとくと public ばかりになってしまう。そこで整理のためにアクセス制限をしたいとなると、テスト容易性 (testability) に差し障る。 まぁ、そういった場合は send を...
›
ホーム
ウェブ バージョンを表示