引数って、なんかわかりにくいよね
引数ってなんて読むの???
いんすう??
引数 (ひきすう)だそうです。
でも、とにかくわかりにくい(初心者には)
調べてみると、
例えば「料理」という関数に「材料」という引数を渡して料理をしてもらうイメージ。
うん。わからん!!!
さらに、一言で言うと、
プログラムや関数に渡す値
だそうです。
そもそも、引数はこんな時に使用します。
class Hello
def self.hello(aaa)
puts "こんちわ!#{aaa}"
end
Hello.hello("bbb")
Hello.hello("ccc")
Hello.hello("")
#実行結果
- こんちわ!bbb
- こんちわ!ccc
- こんちわ!
引数に当たる部分はaaaの部分ですね。
簡単に言うと、aaaの部分だけ任意にデータを挿入できて、そのほかの処理は変えずに実行できるものです。
hello メソッド(def self.hello)の中身は、"こんちわ!()"を出力する処理です。
もしも、引数の中身を指定しない場合は 3の"こんちわ!"だけ出力されます。(この場合引数には("")が必須です!もし入れないとエラーが起こります)
引数を使うと、aaaの部分を、bbbに変えたりcccに変えたりできます。もちろん、他の物にも変えれます。
引数は"引っ張ってこれる変数"の略じゃないかなと思います。
基本、変数が使える範囲(スコープ)が限定されていますが、それでも使いたいって場合に引数を使う。
こう言う特性を使って例えば、引数を名前にして、処理を新規登録を行う処理にすると、名前だけ引数に与えてやれば勝手に新規登録してくれるみたいなことだってできちゃうかもしれません。(あくまで、予想ですが。。)
def registration(name) #新規登録する処理をかく end
nameに"dossy"を入れると新規登録してくれる!
まぁ、でも結局慣れやと思います。勉強だけでなく何にしても慣れが必要ではないでしょうか?
あんまり、引数で考え込まずに気楽に次々行くんやで〜〜〜