AR삽질러

Ruby Method 본문

Ruby/Ruby-日本語

Ruby Method

아랑팡팡 2023. 12. 15. 19:35
728x90

 

Ruby Method

 

メソッドとは

 - Rudyで特定の作業を行うコードです

 - Method複数の処理を1つにまとめて、扱いやすくしたもの

 - Class内に定義する

 

構文

def メソッド名(引数1、引数2。。。。)
	# 実行したい処理。
end

 

Definition

 - メソッドはdefキーワードで始まり、endキーワードで終わる。 メソッドの名前は通常小文字で始まり、Ruby ではスネークケース(snake_case)を使用するのが一般的である。

Parameters

 - メソッドは、パラメータを介して外部から値を受け取ることができます。 パラメータは括弧内で定義され、複数の場合はコンマで区切ります。

Call

 - メソッドは名前を使用して呼び出されます。 パラメータがある場合、呼び出し時に括弧内に因子(arguments)を提供する。

Return Value

 - Ruby でメソッドの最後の表現式は自動的に返戻値(return value)になる。

Block

 - メソッドはコードブロックをパラメータとして受け取ることができる

def with_logging(description)
  puts "Starting #{description}"
  yield
  puts "Ending #{description}"
end

with_logging("test") { puts "This is a test block" }

Variable Arguments

 - *を使ってVariable Argumentsの引数をもらう変数を定義できる。

Access Control

 - public, private, protected キーワードで制御できる。

 

例題1

 - Hello, Wold!と出力するメソッドを記述

 - メソッドを実行する

 - メソッド名は、hello_worldとする

def hello_world
    puts "Hello, World!"
end

hello_world()

 

例題 2

 - メソッドを修正して入力を受けた数だけ"Hello World!"を出力

def hello_world
    print "Hello, World!を出力 : "
    count = gets.chomp.to_i

    count.times do
        puts "Hello, World!"
    end
end

hello_world()

 

 

例題3

 - 2つの数字の足し算を行い、その値を返すメソッドを記述

 - Methodを実行する

 - Method名はaddとする

def add
    print "Num1 : "
    num1 = gets.chop.to_i

    print "Num2 : "
    num2 = gets.chop.to_i

    result = num1 + num2
    puts "結果 : #{num1} + #{num2} = #{result}"
end

add()

 

 

戻り値

メソッドから、メソッドの呼び出し元に返す値

 - returnは慣習として使わない

 


 

メソッドの命名規則

def hello
    puts "Hello"
end

def hello_world
    puts "Hello"
end

def hello_world1
    puts "Hello"
end

def _hello_world1
    puts "Hello"
end

hello
hello_world
hello_world1
_hello_world1

 - 小文字とアンダースコアの使用: Ruby では、一般的にメソッド名に小文字とアンダースコア(_)を使用します。 これは「スネークケース」として知られる命名法です。

 

演習

動物の鳴き声を出し分けるメソッド

1. 引数に渡された動物名によって、適切な鳴き声を返すメソッドcry'

2. 戻り値を出力する

 - 引数に 'cat' が渡されたら

     - 戻り値 'meow' を渡す

 -  引数に 'bog' が渡されたら  

   - 戻り値 'bowwow' を渡す

- それ以外だったら戻り値'???'を渡す。

def zoo
    print "動物名を入力してください : "
    animal = gets.chomp

    case animal
    when "cat"
        puts "meow"
    when "dog"
        puts "bowwow"
    when "exit"
        puts "bye!"
        return
    else
        puts "???"
    end
end

zoo

 

 

728x90
반응형
LIST

'Ruby > Ruby-日本語' 카테고리의 다른 글

Ruby 出力puts, print, p, pp  (0) 2023.12.16
Ruby FizzBuzzメソッド  (0) 2023.12.15
Ruby 条件分岐 unless, case  (0) 2023.12.14
Ruby 演習問題 - テーマパークの入場料計算  (0) 2023.12.14
Ruby 条件分岐 if  (0) 2023.12.14