メソッドのことをわかってあげたい

ミニツク」を見ていて、メソッドのことがよくわかっていないな、という気がしたので、「たのしいRuby 第5版」や「ドットインストール」でメソッドのおさらいをすることにしました。

といっても、具体的に何がどうわかっていないかもわからず、なんとなくわかっていない気がする……というほんとうにわかっていない時の状態に陥っているため、わかっていることを自分なりに順番にまとめていってみたいと思います。(間違っているかもしれない)

  • メソッドとは、オブジェクトを操作するための命令のようなもの。オブジェクトの種類(クラス)によって、実行できる命令は異なる。
  • 「メソッドを受け取るオブジェクト(レシーバと呼ぶ).メソッド名(引数…)」の形で記述する。
  • do~endで記述される「ブロックつきメソッド」がある。(each、loopなど)
  • メソッドにはオブジェクトをレシーバーとするインスタンスメソッド、クラスをレシーバーとするクラスメソッド、レシーバーのない関数メソッドの3種類がある。
  • メソッドを定義するときは、以下のように記述する。
    def メソッド名(引数1,引数2…)
        実行したい処理
    end 

……この、メソッド定義からやや理解があやふやになってしまっている気が。
そもそも、なんとなく使っていたけれど、引数ってどういう意味だっけ?と調べてみると、引数とは、メソッドに渡す情報のことを指すらしい。もともと、引数という言葉がメソッドに結び付いたものだったんですね。
そして、メソッドを定義する際、実行したい処理にあわせ適切な数&順番で引数を渡してあげることが重要になる、と。

こうしたことを意識しながら、改めて「ドットインストール」のRuby入門#18「メソッドを作ってみよう」を見てようやく腑に落ちたような気がします。メソッドを定義するとき、外からカスタムできる「オプション」をつけたい場合、引数を与えてあげるといいと考えるとわかりやすいと思いました。

引数の渡し方やデフォルト値の設定など、メソッド定義における引数の扱いについてはまだまだ勉強すべきことがたくさんありますが、今回は基本をあらためてしっかり復習したところで終了。あいかわらずのゆるゆるです。

 

コードガール、クリアしてしまいました。paizaではほかにもゲームが公開されているみたいなので、また新しいのをはじめてみようかな。どれも美少女ゲーっぽいですね。

paiza.jp

広告を非表示にする