タグ

rubyとprogrammingに関するmoroのブックマーク (4)

  • メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ

    毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。 「ん?」と感じてコミットを見直してみても、何が気になったか自分でもすぐにわからない場合があります。そんなとき、気になったことをコミットした人に伝えるために、コミットへのコメントをまとめ始めます。「コミットした人に伝えるため」というように、他の人に伝えようとすることがポイントです。他の人に伝えるためにまとめようとすると、思いの外なにが気になったかまとまるものです。 今回は、メタプログラミングを使ってコードを整理したコミットで「ん?」と感じたときのことについて紹介します。このおかげで「メタプログラミング

    メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ
    moro
    moro 2014/01/17
    よい話。さすが!
  • Practical Meta Programming on Rails Application

    邦題: Railsアプリでの実用的メタプログラミング (lang:ja) 実プロジェクトで、やり過ぎにならずにメタプログラミングする方法を説明しました。 http://www.joho-shimane.or.jp/docs/2013092500011/

    Practical Meta Programming on Rails Application
    moro
    moro 2013/10/19
    縁あって松江で話しました! セルクマもしておこう
  • Rubyの例外クラス設計 - kなんとかの日記

    具体的には、テストです *2 。例えば foo(1, 2) で wrong number of arguments が投げられることをテストしたいとします。以下のテストだと、wrong number of arguments 以外の ArgumentError が投げられる場合でも合格になってしまいます。 assert_raise(ArgumentError) { foo(1, 2) }ちゃんとやりたければ、例えばこんな感じのコードを書かないとだめかな。 flag = false begin foo(1, 2) rescue ArgumentError => e raise unless ex.message[/\Awrong number of arguments \(\d+ for \d+\)\z/] flag = true end assert(flag) Ruby の例外クラスは分

    Rubyの例外クラス設計 - kなんとかの日記
  • 「プログラミング言語Ruby」を読まなくてもよいのは誰か : \ay diary

    一昨日になってようやく入手できたプログラミング言語Ruby[rakuten]を、Ruby 1.9.1RC2とそのNEWSファイルを手元に置きながら読んだ。 少々乱暴な言い方になるかもしれないが、このは以下のような人には用のないものだと思う。 Ruby 1.9.xもRuby 1.8.xも十分に理解できている Ruby 1.9.xをしばらくは使うつもりがなく、自分が使う範囲においてRuby 1.8.xに不明なところはない Rubyの経験がなく、その他のオブジェクト指向言語の経験および知識もない プログラミング経験がなく、これからプログラミングの学習を始める このRubyそのもののかなり詳しい解説書である。入門書ではない。一応は簡単なところから入る形になっているのだが、大部分はすでにRubyを使っていて、ちょっとしたことなら困らない程度の知識があることを前提としている。つまり、

  • 1