メソッド
Vにはクラスというものはありません。しかし型に対してメソッドを定義できます。
メソッド(method)とは、1個のレシーバーを特殊な引数として持つ関数であり、指定された型に該当するレシーバーだけがこの関数を実行できます。 レシーバーは、fn
とメソッド名の間に独自の引数リストを記述します。
上の出力結果:
上のコードのレシーバーu
の型はUser
であることがわかります。 ここでhas_birthday()
関数のレシーバーにmut
が付いていることにご注目ください。データを変更したい場合はmut
の指定が必要です。 Vのコーディング慣習では、self
やthis
といったレシーバー名は使いません。1文字のレシーバー名が推奨されます。
演習
1.Person
型を対象として、未成年かどうかを調べるメソッドを作成しましょう。 2. Animal
型について、毛が生えているかどうかを調べるメソッドを作成しましょう。
Last updated