タグ

2012年5月6日のブックマーク (4件)

  • kaminari の paginate_array が便利 - それはBooks

    will_paginate に代わるページングのライブラリ、kaminari ですが、ページングが scope 扱いで配列に対して使えなかったのでちょっと不便なときがあったのですが、なんと paginate_array なるものを発見しました。 環境 kaminari 0.12.4 kaminari の Kaminari.paginate_array が激しく便利! もともと、kaminari が扱う page は scope だったかと思います。なので、配列(Array)に対しては使えませんでした。 で、ちょっとソースを見ていたらびっくりするものを発見! Kaminari.paginate_array なんと、配列をページングできるようになっていました。これで、Entity.all したものもページングできるようになりますね。 使い方は、scope の方の page と同じ。

  • http://mochizblog.heroku.com/28

  • Rubyのシンボルは文字列の皮を被った整数だ!

    Yugui著「初めてのRuby」を読んでいる。自分はこのの想定する対象読者ではない。このの対象読者は他言語プログラマだ。自分はRubyしか知らない、Rubyのこともまだ少ししか知らないアマチュアプログラマだ。 けれども、このの内容は自分にとって極めて有益だ。初学者向けにありがちな方便としての「ウソ」がない。ちゃんと理解が書かれている。読者を事実に導こうとする努力がある。大見出しこそ他書と差はないが一歩小見出しに入れば、他ではお目にかかれないような表題が満載で、その内容の多くが知ってはいるけど正しく理解していなかったものばかりだ。 動く疑似コード、DSL、処理系と実行環境、実行モデル。shebang、リソース管理、コールバック、添字代入の裏側。Enumerator、型と自動変換、バックラッシュ記法、Unicode文字。バッククォート文字列、文字リテラル、シンボルの性質と用途。マルチバイ

  • ハッシュのマージ - うなの日記

    Hash#mergeでハッシュをマージします。ブロックが渡された場合、2つのハッシュに同じキーがあった際に実行され、ブロックを評価した値が使用されます。 サンプル: h = {:a=>"a", :b=>{ :aa=>"aa" }, :c=>"c" } h2 = {:x=>"x", :b=>{ :bb=>"bb" }, :c=>"c" } # ブロックなしでマージ。競合した場合、引数側の値が使用される。 p h.merge( h2 ) puts "---" # ブロック付きでマージ。競合した場合、ブロックが実行されその結果が使用される。 p h.merge( h2 ) { |key, self_val, othe_val| puts "conflict: " << key.to_s "conflict" } 出力: {:b=>{:bb=>"bb"}, :c=>"c", :x=>"x", :a

    ハッシュのマージ - うなの日記