ページ

2013年2月16日土曜日

MacRubyにおけるnilの扱い

参考: https://github.com/MacRuby/MacRuby/wiki/Common-Issues

Rubyでは、nilに対して定義されてないメソッド呼び出しをするとNoMethodErrorになる。一方、Objective-Cではnilに対してメッセージを投げても実行時エラーになることはなく、nilが返ってくる。

さて、MacRubyではどうなっているかというと、(少なくとも現状は)Rubyに合わせた仕様になっているらしく、NoMethodErrorになる。

ただ、既存のObjective-Cのコードを置き換えるとか、Cocoa的に書くとnilにメッセージを投げたい場合も出てくると思うので、そういうときは

framework 'Foundation'

しておけばいい。

RubyMotionとかMobiRubyではこの辺どうなってるんだろう。

0 件のコメント:

コメントを投稿