はじめに
プログラミング初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。
可変長引数
個数に制限を設けていない引数のことで、その引数は配列として認識されることとなります。配列ですから、いくつあってもいいってことになります。
使い方は引数の前に*をつけるだけです。
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)
引数の前に**と二つにするとオプション引数になります。