Tbpgr Blog

Recruiting Operations tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎/Rubyのメソッド

概要

Rubyメソッドについて
Javaと変わらない部分は省略

デフォルト

以下の構文でデフォルト値の設定を行うことが出来ます。

def メソッド名(変数名=デフォルト値)

引数の配列化

以下の構文で引数を配列化することが出来ます。

def メソッド名(引数名1,引数名2,引数名3,*引数名4)

多重代入

以下の構文で複数の戻り値を返却、受け取り出来ます。

▼返却側

class MultipleClass
  def multiple()
    return data1,data2
  end
end

▼受け取り側

multiple = MultipleClass.new
data1,data2 = multiple.multiple
puts data1
puts data2

サンプルコード

# encoding: Shift_JIS

=begin rdoc
= SampleMethodクラス
=end

class SampleMethod
  def method1(param1,param2="default",param3="default",*param4)
    puts "param1=#{param1}"
    puts "param2=#{param2}"
    puts "param3=#{param3}"
    puts "param4=#{param4}"
  end
  
  def multiple()
    return "1","2"
  end
end

main

# encoding: Shift_JIS
require_relative './sample_method'

method = SampleMethod.new
method.method1("test1","test2","test3","test4","test5","test6")
puts "-----------------------------------------------"
method.method1("test1","test2","test3","test4")
puts "-----------------------------------------------"
method.method1("test1","test2","test4")
puts "-----------------------------------------------"
method.method1("test1","test4")

puts "■多重代入の確認-------------------------------"
first,second = method.multiple
puts "第一戻り値#{first}"
puts "第二戻り値#{second}"

出力

param1=test1
param2=test2
param3=test3
param4=["test4", "test5", "test6"]
-----------------------------------------------
param1=test1
param2=test2
param3=test3
param4=["test4"]
-----------------------------------------------
param1=test1
param2=test2
param3=test4
param4=[]
-----------------------------------------------
param1=test1
param2=test4
param3=default
param4=[]
■多重代入の確認-------------------------------
第一戻り値1
第二戻り値2