Ruby 資料一覧
クラス
2007/8/21更新
対応バージョン: 1.8
クラス/メソッドの定義方法
Rubyのクラス/メソッドは以下のように簡単に記述できる。
例)
まずクラス/メソッド定義を「myclass.rb」として作成する。
class Dog # 犬に関するクラス定義 def type # 種別メソッド return "犬" end def voice # 鳴き声メソッド return "わんわん" end end class Cat # 犬に関するクラス定義 def type # 種別メソッド return "猫" end def voice # 鳴き声メソッド return "にゃー" end end
これを使って以下のような処理が書ける。
require "myclass" pochi = Dog.new mike = Cat.new puts "#{pochi.type}は「#{pochi.voice}」と鳴く" puts "#{mike.type}は「#{mike.voice}」と鳴く" => 犬は「わんわん」と鳴く => 猫は「にゃー」と鳴く
メソッドから複数の戻り値を返す
通常メソッドの戻り値は一つしか指定できないが、配列を使うことによって複数の戻り値を返すことができる。
return 1, 2, 3
これは以下の書き方と同じ意味になる。
data = [1, 2, 3] return data
メソッド呼び出し側ではこの戻り値をリストや多重代入により取り出すことができる。
def func data = [1,2,3] return data end # リスト ret = func p ret => [1, 2, 3] # 多重代入 ret1, ret2, ret3 = func p ret1,ret2,ret3 => 1 => 2 => 3
メソッドの引数のデフォルト値を設定する
メソッドの引数に対して、何も指定されなかった場合のデフォルト値を指定することができる。
def func(data = "none") return data end p func("foo") => "foo" p func() => "none"