かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

2006-12-13から1日間の記事一覧

ブロック!

メソッドの引数の最後に&つきの引数を定義するとブロックが入ってくる。 def hoge &block p block.class end puts "blockなし呼び出し" hoge puts "block有り呼び出し" hoge { }実行結果は blockなし呼び出し NilClass block有り呼び出し Procになる。 ふ〜…

可変長引数

いまさらって感じもあるけど可変長引数を… *をつければ可変長引数になる! def hoge *args p args end hoge 1, 2, 3実行結果は [1, 2, 3]

ブロック

ブロックは、本で斜め読みして使ってみただけで理解があさかったのでちょっと書いてみる。 ブロックを受け取るメソッドを作るのは簡単。普通に書けばOK def func puts "Hello world" end func { # block }実行結果 Hello world部通のメソッドでもブロックを…

ああああ〜〜!evalのメモ

eval 普通のeval instance_eval オブジェクト内部のコンテキストでeval class_eval/module_eval クラス/モジュール内部のコンテキストでeval

メタプログラミング

Railsによるメタプログラミングを読んでみた。 気になったところをメモ! 存在しないメソッドを呼んだときに呼ばれるメソッド method_missingというメソッドがそうらしい 早速実験 class Hoge def method_missing(method, *args, &block) puts "missing" end…