LoginSignup
1
0

More than 1 year has passed since last update.

メソッドについて

Last updated at Posted at 2023-01-12

Rubyとは

日本人が作ったプログラミング言語で初心者の方にも分かりやすい言語になっています! できる事は主にWebアプリ制作になります! Webアプリとはアマゾンや、食べログなどインターネット上で使うシステムの事です!

メソッド(関数)を出力

メソッド(関数)とは、プログラムの別の場所から呼び出せる処理のまとまりの事です。 メソッドは呼び出されるまで、実行されません。
paiza.io
#engineerがメソッド名
#userが引数
  def engineer(user)
    puts "#{user}は基礎を学んでます" #defからendまでメソッド
  end

p engineer("西野") #引数="西野"

出力結果
西野は基礎を学んでます
  • defは、メソッドを作る時に行われて、engineerはメソッド名になります。

  • カッコの中(user)は引数と言います。
    引数はメソッドを呼び出すときにメソッドの外から代入する事ができる変数です。

  • engineer("西野")がdefとendの外にあり、engineerの()内の"西野"がuserの引数に当たる所に代入されて、engineer(user)メソッドが呼び出されるという流れ

  • engineer(user)というメソッドが呼び出されて、def engineer(user)とendに挟まれている部分の処理が実行される

※メソッドは呼び出さないと処理は実行されません。

数字を引数に代入した場合

paiza.io
#engineerがメソッド名
#moneyが引数
  def engineer(day)
    puts "基礎を学んで#{day}日目" #defからendまでメソッド
  end

p engineer(3)

出力結果
基礎を学んで3日目

数字の場合は""(ダブルクォテーション)←がいらなくなります。

メソッドの引数について

メソッドに引数がない場合は、引数なしという形になり、空の()は必要ありません。
paiza.io
#foodがメソッド名
  def food
    puts "基礎を学ぶのは為になる"
  end

p food

出力
基礎を学ぶのは為になる

複数の引数を受け取る場合はカンマで区切って、複数持たせる事ができます。
呼び出すときもカンマで区切ぎります。

paiza.io
#dreamがメソッド名
  def dream(how, want)
    puts "#{how}彼女が#{want}"
  end

dream("可愛い", "欲しい")

出力
"可愛い彼女が欲しい"

引数のデフォルト値というのもあります。

paiza.io
#dreamがメソッド名
  def dream(how="美人な", want="欲しい")
    puts "#{how}彼女が#{want}"
  end

dream
dream(nil, "凄く欲しい")
dream("可愛い", "欲しい")

出力
美人な彼女が欲しい
彼女が凄く欲しい
可愛い彼女が欲しい

キーワード引数

キーワード引数とは引数に名前をつける機能の事を言います。
paiza.io

  def nishino_age(age: 29)
    puts age
  end

nishino_age
nishino_age(age: 30)
出力
29
30

引数: 値 で:(コロン)
を引数の後につけて値を代入する事をキーワード引数と言います。
上記で言うと
def nishino_age(age: 29)の、age:の部分です

メリッドは引数の意味が見た目で分かりやすくなります!
この場合ですと、ageをキーワード引数として渡しているので年齢を渡しているんだな!
と分かりやすくなっています!

可変長引数

1つの引数で、複数の値を配列で受け取る事ができる引数を可変長引数と言います
paiza.io

  def place(*i)
    puts i
  end

place(1,2,3)
place("千葉","神奈川","東京")
出力
1
2
3
千葉 
神奈川
東京

オプション引数

1つの引数で復習の値をハッシュで受け取る引数をオプション引数と言います
  • hash値はキーとバリューの組み合わせでデータを表現できる事を言います{:キー=>バリュー}
paiza.io

  def country(**japan)
    puts japan
  end

country(place1: "千葉", place2: "神奈川", place3: "東京")
出力
{:place1=>"千葉", :place2=>"神奈川", :place3=>"東京"}
paiza.io

  def country(**japan)
    puts japan.keys
    puts japan.values
  end

country(place1: "千葉", place2: "神奈川", place3: "東京")

出力
place1 
place2
place3
千葉
神奈川 
東京
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0