LoginSignup
2
0

More than 1 year has passed since last update.

【RUBY】可変長引数とオプション引数について

Last updated at Posted at 2022-12-14

はじめに

プログラミング初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。

可変長引数

個数に制限を設けていない引数のことで、その引数は配列として認識されることとなります。配列ですから、いくつあってもいいってことになります。

使い方は引数の前に*をつけるだけです。

class Train
  def gse(*numbers)
    puts "今日の特急は#{numbers.join}です。"
  end
end
train = Train.new
train.gse("1号","2号","3号","4号")

#=> 今日の特急は1号2号3号4号です。

Trainクラスにgesメソッドを定義しています。gesメソッドには可変長引数として*numbersが書いてあります。
trainインスタンスを生成し、gesメソッドで引数と一緒に呼び出しています。
この時、引数が(”1号”,”2号”,”3号”,”4号”)と4つあります。こちらの引数は何個あっても構いません。
実行すると、今日の特急は1号2号3号4号です。
と表示されます。
これが可変長引数の使い方となります。

参考までにコードにあるjoinメソッドは配列を1つの文字列として認識するメソッドです。

オプション引数

1つの引数で複数の値をハッシュで受け取ることができます。

def price(**1)
  p i # {item1: 100, item2: 200}
end

price(item1: 100,item2: 200)

引数の前に**と二つにするとオプション引数になります。

2
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
2
0