golf
配列をユニークにしてその個数とともに返せ。
具体的には、["foo", "bar", "foo", "baz", "bar", "foo"] を、[ ["foo", 3], ["bar", 2], ["baz", 1] ] にする。
今から考える。
ハッシュ返すほうが inject 使って簡単にできそうだな。
["foo", "bar", "foo", "baz", "bar", "foo"] を {"foo" => 3, "bar" => 2, "baz" => 1} にする。
できた:
["foo", "bar", "foo", "baz", "bar", "foo"].inject({}){|r,e| r[e] = r[e].to_i + 1; r}
nil.to_i が 0 を返すことを期待しても良いものか。
追記:
ゆうきパゥワーでトラックバックがいっぱいなので、ちゃんとした答えを載せておきますね。
%w|foo bar foo baz bar foo|.inject(Hash.new 0){|r,e|r[e]+=1;r}.to_a
タグクラウドで文字の大きさ変えるとき考えてたんすよ。そんときゃ to_a 要らないけど。
Shooting Star の由来
今日 id:tokuhirom に聞かれて、瀧内さんを問い詰めて判明した。
こちらもカけてるとのこと:
Hyper Estraier
clear_index! は成功する(status:200)のに、reindex! が失敗する(status:401)。
401 : 認証情報がないか、間違っています。
かぁー。うーん
作り直したら行けた。そのあと fulltext_search のテストが通らなかったんだけど、キャッシュを無効にしたら通った。
/var/lib/hyperestraier/estmaster/_conf
# maximum size of the index cache (in mega bytes) #cachesize: 64 cachesize: 0 # maximum number of cached records for document attributes #cacheanum: 8192 cacheanum: 0 # maximum number of cached records for document texts #cachetnum: 1024 cachetnum: 0 # maximum number of cached records for occurrence results #cachernum: 256 cachernum: 0