組み込みC言語プログラマのためのmruby入門(中編) ―― mrubyをお手軽に体験する!
●例外処理
C言語では,エラーの通知は,関数からの戻り値を用いるのが一般的です.Rubyでは,エラー処理の方法として例外処理機構を用意しています.
基本的な例外処理の構造は,begin 文とrescue文が担います.begin式中でエラーが発生すると,処理を中断してrescue式の中を実行します.
> begin
* 1+"a" #この行でエラー
* rescue => e
* puts "Detects an error."
* end
Detects an error.
=> nil
Rubyの例外処理は,JavaやC++のtry - catch構造とよく似ています.ただし,retry文など,エラーからの回復のために便利な機能が付加されています.C言語には相当する概念がないので本稿では詳細は割愛しますが,安全なアプリケーションを記述するためには,例外処理を理解することは大切です.ひと通り使えるようになったあとで,Ruby の専門書に当たってみてください.
●メソッドの宣言
Rubyはオブジェクト指向言語なので,ほかの言語の慣例に沿って,C言語の関数に対応するものをメソッドと呼びます.引き数の自乗を計算するメソッドpow2(x) を宣言してみましょう.
> def pow2(x)
* return x * x
* end
=> nil
メソッドの宣言はdefで始まり,メソッド名と引き数となる変数名を記述します.C言語とは異なり,波かっこ( { } )ではくくらず,endで閉じます.
●メソッドの呼び出し
メソッドの呼び出しは,C言語と同様です.
> pow2(4)
=> 16
メソッド内のreturnは省略できます.省略した場合には,最後に評価した式の値を返します.
> def pow2(x)
* x * x
* end
=> nil
> pow2(4)
=> 16
同名のメソッドを定義した場合には,最後に定義したメソッドが有効になります.