Endo Akira
endo4****@goo*****
2011年 3月 31日 (木) 09:47:37 JST
遠藤です。
> result = items.select{|r|
> r.pisrefs.jan =~ "123"
> }
ああ、これでよかったのですか。そうかなと思わないでもなかったのですが、
ちょっと気持ち悪くて書けませんでした。こう書けるのなら、普通に(?!)
referenceのvectorが使えます。belongs_to、has_manyよりも直感的で使いやすいと
思います。
grn式なるものが分からないので、ついruby式思考法になってしまいます。
> * 条件式を連結する
>
> 例:
> # 東京に住んでいる太郎さんを検索
> (record.name == "太郎") & (record.address =~ "東京")
> # 東京か大阪に住んでい人を検索
> (record.address =~ "東京") | (record.address =~ "大阪")
&&で連結していて、最後の条件式しか評価されず、しょうがないので、
andの方はselectの結果を用いてさらにselectしていました。orの方は
もっと苦労していました。ははは。これを今日質問するつもりでした。
&はbit積という印象が強くて、改めてTrueClassほかを眺めたら、&などが
定義されていたのですね。
もう一つの"1"から"4"までの値しかとらない項目で、indexを作った方が
遅くなる、という問題は、あとでもう一度試してからご報告します。
どうもありがとうございました。だんだんすっきりしていきます。