パスワードを忘れた? アカウント作成
657046 journal

tsykの日記: おぉ、そうか!

日記 by tsyk

k3cさんの日記“コーディング”と、そのコメントを見て気が付いた。
自分の日記“CommonLisp → Ruby (Bayesian SPAM Filtering)”で、
Arrayクラスにapplyメソッドを追加していたが、
ruby1.7以降ではEnumerable#injectが用意されているので、
そのメソッドは不要になる。

class Array
    def apply(m)
        arr = self.dup
        r = arr.shift
        arr.each{|a| r = r.send(m, a)}
        r
    end
end
prod = probs.apply(:*)
prod / (prod + probs.map{|a| 1 - a}.apply(:*))

↑これは、↓こう書き換えられる。

prod = probs.inject(1){|n,c| n*c}
prod / (prod + probs.map{|a| 1 - a}.inject(1){|n,c| n*c})

ふふふ、久し振りにアレゲな日記だ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...