Output Diary

プログラミング × 読書 のアウトプットを発信しています

【Ruby】メソッドとは

 

 

f:id:kina_kq:20210220194204p:plain

メソッドとは
メソッドとは、複数の処理を1つにまとめたものです。
 

メソッドの作り方

def メソッド名
 まとめたい処理
end
 
このようにして、メソッドをつくることができます。
このことを「メソッドを定義する」と言います。
 
例 introduceメソッド
 
【日本語】   【プログラミング】
自己紹介     def introduce
①挨拶をする→           puts  "こんにちは"
②名前を言う               puts "私の名前はりんごです"
                                   end
 

 

 

メソッドを呼び出す

メソッドは、定義するだけでは実行されません。
 
def introduce
  puts  "こんにちは"
  puts "私の名前はりんごです"
end
intoduce
 

 

メソッドを定義し、その下に「メソッド名」を書くことで実行できます。
メソッドを実行することを、「メソッドを呼び出すと言います。
 
 

末尾に?がつくメソッド

 ときどき末尾に?がつくメソッドがあります。
even?メソッドは、偶数かどうかを判断します。
odd?メソッドは 、奇数かどうかを判断します。
 
 

要素を追加する

配列の末尾へ追加するにはpushメソッド
先頭へ追加するにはunshiftメソッドを使います。
 
追加例
 
add.rb
drinks = ["カフェラテ"]
 
drinks.push("コーヒー")
p drinks
 
drinks.unshift("フラペチーノ")
p drinks
 
drinks << "ティーラテ"
p drinks
 
ruby add.rb
 
["カフェラテ", "コーヒー"]
["フラペチーノ", "カフェラテ", "コーヒー"]
["フラペチーノ", "カフェラテ", "コーヒー", "ティーラテ"]
 
 
【まとめ】
・変数.push       配列の末尾に追加
・変数.unshift  配列の先頭に追加
・変数 <<                 配列の末尾に追加
 
このように要素を追加していくことが出来ます😊
 
 

要素を削除する

配列の末尾から要素を1つ削除するにはpopメソッド
先頭から要素を1つ削除するにはshiftメソッドを使います。
 
ruby delete.rb
drinks = ["カフェラテ","フラペチーノ","ティーラテ"]
 
drinks.pop
p drinks
 
drinks.shift
p drinks
 
["カフェラテ", "フラペチーノ"]
["フラペチーノ"]
 
【まとめ】
・変数.pop         配列の末尾から要素を1つ削除
・変数.shift   配列の先頭から要素を1つ削除
 
 

削除した要素を確認する

pメソッドを用いて削除した要素を確認することが出来ます。
 
drinks = ["カフェラテ","フラペチーノ","ティーラテ"]
 
p drinks.pop
p drinks.shift
 
"ティーラテ"
"カフェラテ"
 
これをみると、
popメソッドで削除したやつは、"ティーラテ"
shiftメソッドで削除したやつは、"カフェラテ" ですね。
 

配列を足し算する

配列は足し算することが出来ます。
足し算をすると、2つの配列をつなげた新しい配列を作ります。
 
calc.rb
1: a1 = [1, 2, 3]
2: a2 = [4, 5]
3: p a1 + a2
ruby calc.rb
[1, 2, 3, 4, 5]
 

配列を引き算する

配列は引き算をすることも出来ます。
引き算をすると、元の配列から要素を取り除いた新しい配列を作ります。
 
a1 = [1, 2, 3]
a2 = [1, 3, 5]
p a1 - a2
 
 
[2]
 
最初これみて、
むむ(・∀・)何が起きた?って思いましたが、
どうやらこうみたいです。
 
引き算では、
 
左の配列の要素から共通する要素を除外する
右の配列が左の配列に無い要素を持っていても無視される
a -= b みたいに破壊的な使い方もできる

 

という特徴を持っています。

そのため、右の配列[1, 3, 5]が左の配列[1, 2, 3]にない要素、

今回は[5]をもっていてもこの[5]は無視されるみたいです。

 

 

ということで今日はここまでにして

また明日ー!!!

 

f:id:kina_kq:20210210225210p:plain