2012-03-01から1ヶ月間の記事一覧

S4クラス用のgeneric関数でキャッシュを実現する方法を考える

概要 Rが常に値渡しであるために関数の返り値のキャッシュをオブジェクトの中に素直に持てなくて困ったので解決法を考えた。 背景 ある特定のオブジェクトを引数として、もの凄く重たい関数が何回も呼ばれるとする。毎回真面目に計算するのはしんどいので、…

S4クラスを継承する時に気を付けること

背景 S4クラスメカニズムでは、setMethod関数のcontains引数に親クラスの名前を含める事で継承を実現できる。で、こんなコードを書くとエラーになってしまった。 setClass("A", representation(a="numeric")) setMethod("initialize", "A", function(.Object…

2つのベクトルの両方に含まれる要素(メモ)

appear <- function(x, vec){ sapply(x, function(a){ any(vec==a) }) } two <- 2 * 1:10 thr <- 3 * 1:10 two[appear(two, thr)]

gdbでステップイン出来ない時に疑う事

原理は知らないけど、クラスのメンバ関数をインラインに書いちゃうとステップインしてくれない。らしい。 class A{ public: int func(int); int func2(int y){ int z = y + 1; return z; } }; int A::func(int y){ int z = func2(y); return z + 1; } int ma…

スキーに行く

行き先 2年振りに軽井沢にスキーに行った。軽井沢は新幹線で直ぐだし、駅から直ぐホテルだし便利。あと、巨大なアウトレットがあって楽しい。だけどスキーシーズンに行ったらスキーしかしない。 往路 八柱 -> 軽井沢を経路探索すると、「八柱 --在来線--> 大…