タグ

ブックマーク / rubikitch.hatenadiary.org (6)

  • かっこいい時刻計算 - http://rubikitch.com/に移転しました

    ActiveSupportを使えばわかりやすく時刻計算ができる。時刻の基単位が秒であることから、Integerに時刻の単位をあらわすメソッドを加えている。min, hour, day, month, yearといったものだ。 だからたとえば1984/12/26から現在まで何年たっているかは次のように書ける。時刻の差を「1.year」で割るのがポイント。Rubyの文法を巧みに利用することで、直観的でかっこいい表現だと思う。 require 'rubygems' require 'active_support' today = Time.now birth = Time.local 1984,12,26 (today-birth) / 1.year # => 23.0202540144726 でも、年には閏年があるし、1月は30日だったり31日だったりするけどどうなのか検証してみる。 req

    かっこいい時刻計算 - http://rubikitch.com/に移転しました
  • 『Ruby逆引きハンドブック』出版 - http://rubikitch.com/に移転しました

    asin:4863540221 書籍『Ruby逆引きハンドブック』を出版しました。 10 年にわたる Ruby の経験を一冊のにまとめました。 このは、「 Ruby で○○するにはどう書けばいいのか」という問いに答える 逆引きですが、それだけにとどまらず、陥りやすい落とし穴、理解しづらい部分、 応用例などもしっかり解説しました。 Ruby 初心者〜上級者、他言語から Ruby を学ぶ人すべてにおすすめです。 このの持ち味は類書をはるかに凌ぐ圧倒的な情報量です。 セクションとコラムは合わせて 588 項目にわたり、総ページ数 768 ページです。 Ruby プログラミングの際には手元に置いて、辞書として繰り返し使ってください。 Ruby 1.8.6 、 Ruby 1.8.7 、 Ruby 1.9.1 全方位対応なので、今風な書き方も学べます。 Ruby on Rails 習得のために

    asip
    asip 2009/05/28
  • Ruby 1.9 だと String#sub 等にハッシュを渡せる - http://rubikitch.com/に移転しました

    String#sub などの置換メソッドを何度も渡すと効率が問題になってくる。かといってブロックを渡すと ブロック呼び出しコストが高い(特に 1.8 )ため遅くなることがある。そこで、置換パターンをハッシュで渡せるようになった。これなら効率も上がる。 TABLE = { 'a' => 'A', 'b' => 'B' } # 複数回の置換 "hagbx".gsub (/a/, 'A').gsub (/b/, 'B') # => "hAgBx" # ブロック置換 "hagbx".gsub (/[ab]/){|c| TABLE[c] } # => "hAgBx" # ハッシュ置換( Ruby 1.9 ) "hagbx".gsub (/[ab]/, TABLE) # => "hAgBx" で、ベンチマーク。 Ruby 1.9 の String#inspect で JSON 形式への変換を高速化 -

    Ruby 1.9 だと String#sub 等にハッシュを渡せる - http://rubikitch.com/に移転しました
    asip
    asip 2009/02/28
  • Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - ’(rubikitch wanna be (a . lisper))

    Ruby 1.8.7ではRuby 1.9からのbackportがとても多い。つまり、Ruby 1.9のあのメソッドがRuby 1.8でも使えるようになったということだ!! これがすごいという機能がもりだくさん、ちょっと大人になったRuby 1.8をお楽しみに。 Enumeratorは組み込みになり、eachなどのイテレータメソッドはブロックをつけないとEnumerable::Enumeratorを返すようになった。おかげでブロック付きメソッドの柔軟性が飛躍的にアップ! expectationsテスティングフレームワークによるテストで書いているので「gem install expectations」してから実行してみよう。手軽にユニットテストが書けるからおすすめ。書式は…見ればわかるよねw ChangeLogで現在からRuby 1.8.6リリースまでを読んだので、ほとんどカバーしていると思わ

    Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - ’(rubikitch wanna be (a . lisper))
    asip
    asip 2008/09/27
  • ’(rubikitch wanna be (a . lisper))

    この度、独自ドメイン取得したので、ブログ・サイトを移転します。 今日をもちまして、はてなダイアリーは更新を終了します。 ブックマーク、RSSは解除していただいて構いません。 今後は新サイトでよろしくお願いします。 http://rubikitch.com/ 学校やら勉強会やらセミナーやらやらで、 いろいろ学ぶ機会があると思います。 けれども多くの人たちはとある 大事なことをやっていません。 それは 『復習』 です。 小中学校時代を思い出していただけたらわかると 思いますが、学校から帰って家で勉強するときは、 復習もきちんとやっていましたよね? だからこそ、赤点ばかりにならずに きちんと身に付いたのです。 思春期の定期テストの山だったり受験を乗り越え られたのは、復習をしっかりしていたからです。 けれど大人になると日々の仕事で せいいっぱいなのか、学生時代の 「復習」という大切な習慣を 置

    ’(rubikitch wanna be (a . lisper))
    asip
    asip 2008/08/17
  • Ruby初心者〜初中級者が読むべきコードについて - ’(rubikitch wanna be (a . lisper))

    Rubyの初心者にたいして「これは読むべき」だと思うコードを教え… - 人力検索はてな 今北産業ではないが超要約してみる。 Ruby初心者はまず文法や基的なクラスを習得せよ。 初級者ならばmailread.rbなどの簡単なライブラリを読んでみよう。 中級くらいからはWEBrickやBitChannelのソースがよい。 そして、なんといっても、力をつけたいならばソースを改造してみるのが一番だ。改造するんだからソースを理解しないといけないし、書く力も養われる。俺は「興味あるプログラム、気に入ったプログラム」をおすすめする。なぜなら、好奇心があるからモチベーションを保ちやすい。 やっぱり改造一番だよなぁ…書籍のサンプルコードはスペースの関係でミニチュア版になってるし、あくまで「作られた例(contrived example)」に過ぎないんだよね。生きたソースコードにはかなわない、うん。 俺はe

    Ruby初心者〜初中級者が読むべきコードについて - ’(rubikitch wanna be (a . lisper))
    asip
    asip 2008/07/24
  • 1