タグ

ブックマーク / fre-oik.hatenadiary.org (2)

  • 昔Array#include?の多用でボトルネックになりかけた失敗 - ぽひゅっとメモ

    カテゴリーを4つつけたら [Ruby][Rails][失敗談][tips] 記事タイトル と非常に読みづらくなったので、初期設定のカテゴリーは分ける2行表示に戻した。 ========================================== それっぽい例で例えます。 完全そのものを言ってるわけではございませんw ショッピングカートシステムがあったとして、 Cartオブジェクトのインスタンスに、商品の種類・個数を持っていたとする。 種類はcodeとかproduct_nameとかそういう感じで、 個数はquantityかな。 で、大体のEC系サイトだと 「注文する」とか「カートに入れる」とかそんなボタンで、 カートに注文確定前の予定の品として、保持されますよね。 そこで、 一度入っている商品が、もう一度追加された場合にどうするか。 パターンとしては ・同じ商品の2商品目として追加す

    昔Array#include?の多用でボトルネックになりかけた失敗 - ぽひゅっとメモ
    suginoy
    suginoy 2014/12/22
    "Array#uniqは大きい配列にも、そこまで遅くないので、こっちの方が正解" "最近ArrayやHashの変数宣言を、シンタックスシュガーな array = [] hash = {} で書かなくなってきた"
  • object.methods.grep(/rege/).sortをよく使うのでirbrcに定義 - ぽひゅっとメモ

    暫くirbrcを自分が使いやすくしてる記事が続きますが、ご了承ください。 これ以降は思いつき次第追加って感じなので、そんなにirbrcファイルを書き換える事は無いと思う。 クラスや、インスタンスに対して、 require "pp" pp [].methods #配列で使えるメソッド一覧出力 pp [].methods.sort #上記をソートして見やすくする pp [].methods.grep(/^to_/).sort #to_a, to_sなどの使えるメソッドだけ表示 って事をよくやりますが、 これをもっと簡単に短く呼べるようにirbrcに適当なメソッド名で追加しておく。 #methods.grep.sortの略でmgで定義 #[].mg(/^o/)とかで走るようにする。 class Object def mg(grep_rege = //) pp self.methods.grep(

    object.methods.grep(/rege/).sortをよく使うのでirbrcに定義 - ぽひゅっとメモ
    suginoy
    suginoy 2011/06/06
  • 1